Ver código fonte

Add unit tests for metafield (currently none)

Hammad Khalid 10 anos atrás
pai
commit
88df183bd3
2 arquivos alterados com 46 adições e 1 exclusões
  1. 0 1
      test/image_test.rb
  2. 46 0
      test/metafield_test.rb

+ 0 - 1
test/image_test.rb

@@ -1,7 +1,6 @@
 require 'test_helper'
 
 class ImageTest < Test::Unit::TestCase
-
   def test_create_image
     fake "products/632910392/images", :method => :post, :body => load_fixture('image')
     image = ShopifyAPI::Image.new(:product_id => 632910392)

+ 46 - 0
test/metafield_test.rb

@@ -0,0 +1,46 @@
+require 'test_helper'
+
+class MetafieldTest < Test::Unit::TestCase
+  def test_get_metafields
+    fake "metafields", :method => :get, :body => load_fixture('metafields')
+    metafields = ShopifyAPI::Metafield.find(:all)
+  end
+
+  def test_get_metafield
+    fake "metafields/721389482", :method => :get, :body => load_fixture('metafield')
+    assert ShopifyAPI::Metafield.find(721389482)
+  end
+
+  def test_get_metafield_of_a_blog
+    fake "blogs/1008414260/metafields/721389482", :method => :get, :body => load_fixture('metafield')
+    metafield = ShopifyAPI::Metafield.find(721389482, :params => {:resource => "blogs", :resource_id => 1008414260})
+    assert_equal 1008414260, metafield.prefix_options[:resource_id]
+  end
+
+  def test_create_metafield_for_a_blog
+    fake "blogs/1008414260", :method => :get, :body => load_fixture('blog')
+    fake "blogs/1008414260/metafields", :method => :post, :status => 201, :body => load_fixture('metafield')
+
+    blog = ShopifyAPI::Blog.find(1008414260)
+    metafield = blog.add_metafield(ShopifyAPI::Metafield.new(:namespace => "summaries", :key => "First Summary", :value => "Make commerce better", :value_type => "string"))
+
+    assert_equal ActiveSupport::JSON.decode('{"metafield":{"namespace":"summaries","key":"First Summary","value":"Make commerce better","value_type":"string"}}'), ActiveSupport::JSON.decode(FakeWeb.last_request.body)
+    assert !metafield.new_record?
+  end
+
+  def test_update_metafield
+    fake "metafields/721389482", :method => :get, :body => load_fixture('metafield')
+    fake "metafields/721389482", :method => :put, :status => 200, :body => load_fixture('metafield')
+    metafield = ShopifyAPI::Metafield.find(721389482)
+    metafield.namespace = "teaser"
+    assert metafield.save
+  end
+
+  def test_delete_metafield
+    fake "metafields/721389482", :method => :get, :body => load_fixture('metafield')
+    fake "metafields/721389482", :method => :delete, :body => 'destroyed'
+    metafield = ShopifyAPI::Metafield.find(721389482)
+    assert metafield.destroy
+  end
+end
+