metafield_test.rb 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. require 'test_helper'
  2. class MetafieldTest < Test::Unit::TestCase
  3. def test_get_metafields
  4. fake("metafields", method: :get, body: load_fixture('metafields'))
  5. ShopifyAPI::Metafield.find(:all)
  6. end
  7. def test_get_metafield
  8. fake("metafields/721389482", method: :get, body: load_fixture('metafield'))
  9. assert(ShopifyAPI::Metafield.find(721389482))
  10. end
  11. def test_get_metafield_of_a_blog
  12. fake("blogs/1008414260/metafields/721389482", method: :get, body: load_fixture('metafield'))
  13. metafield = ShopifyAPI::Metafield.find(721389482, params: { resource: "blogs", resource_id: 1008414260 })
  14. assert_equal(1008414260, metafield.prefix_options[:resource_id])
  15. end
  16. def test_create_metafield_for_a_blog
  17. fake("blogs/1008414260", method: :get, body: load_fixture('blog'))
  18. fake("blogs/1008414260/metafields", method: :post, status: 201, body: load_fixture('metafield'))
  19. blog = ShopifyAPI::Blog.find(1008414260)
  20. metafield = blog.add_metafield(ShopifyAPI::Metafield.new(namespace: "summaries", key: "First Summary", value: "Make commerce better", value_type: "string"))
  21. assert_equal(ActiveSupport::JSON.decode('{"metafield":{"namespace":"summaries","key":"First Summary","value":"Make commerce better","value_type":"string"}}'), ActiveSupport::JSON.decode(WebMock.last_request.body))
  22. assert(!metafield.new_record?)
  23. end
  24. def test_update_metafield
  25. fake("metafields/721389482", method: :get, body: load_fixture('metafield'))
  26. fake("metafields/721389482", method: :put, status: 200, body: load_fixture('metafield'))
  27. metafield = ShopifyAPI::Metafield.find(721389482)
  28. metafield.namespace = "teaser"
  29. assert(metafield.save)
  30. end
  31. def test_delete_metafield
  32. fake("metafields/721389482", method: :get, body: load_fixture('metafield'))
  33. fake("metafields/721389482", method: :delete, body: 'destroyed')
  34. metafield = ShopifyAPI::Metafield.find(721389482)
  35. assert(metafield.destroy)
  36. end
  37. end