metafield_test.rb 2.0 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