Procházet zdrojové kódy

Merge pull request #139 from Shopify/add-delete-and-metafield-tests

Add tests for commonly deleted objects, and metafield tests, fix existing test
Hammad Khalid před 10 roky
rodič
revize
e45a61fdb1

+ 13 - 0
test/image_test.rb

@@ -23,4 +23,17 @@ class ImageTest < Test::Unit::TestCase
     image = ShopifyAPI::Image.find(850703190, :params => {:product_id => 632910392})
     assert_equal 850703190, image.id
   end
+
+  def test_delete_image
+    fake "products/632910392/images/850703190", :method => :get, :body => load_fixture('image')
+    fake "products/632910392/images/850703190", :method => :delete, :body => "destroyed"
+    image = ShopifyAPI::Image.find(850703190, :params => {:product_id => 632910392})
+    assert image.destroy
+  end
+
+  def test_delete_image_without_fetching
+    fake "products/632910392/images/850703190", :method => :delete, :body => "destroyed"
+    image = ShopifyAPI::Image.new(product_id: 632910392, id: 850703190)
+    assert image.destroy
+  end
 end

+ 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
+

+ 1 - 1
test/order_risk_test.rb

@@ -35,7 +35,7 @@ class OrderRiskTest < Test::Unit::TestCase
     assert v.destroy
   end
 
-  def test_delete_order_risk
+  def test_update_order_risk
     fake "orders/450789469/risks/284138680", :method => :get, :body => load_fixture('order_risk')
     fake "orders/450789469/risks/284138680", :method => :put, :body => load_fixture('order_risk')
 

+ 7 - 0
test/order_test.rb

@@ -28,5 +28,12 @@ class OrderTest < Test::Unit::TestCase
     order.save
     assert_equal "Test note", order.note
   end
+
+  test "delete should delete an order" do
+    fake 'orders/450789469', :method => :get, :status => 200, :body => load_fixture('order')
+    fake 'orders/450789469', :method => :delete, :body => 'destroyed'
+    order = ShopifyAPI::Order.find(450789469)
+    assert order.destroy
+  end
 end
 

+ 7 - 0
test/variant_test.rb

@@ -33,4 +33,11 @@ class VariantTest < Test::Unit::TestCase
     v = ShopifyAPI::Variant.find(808950810)
     assert_equal 632910392, v.product_id
   end
+
+  def test_delete_variant
+    fake "products/632910392/variants/808950810", :method => :get, :body => load_fixture('variant')
+    fake "products/632910392/variants/808950810", :method => :delete, :body => 'destroyed'
+    v = ShopifyAPI::Variant.find(808950810, :params => {:product_id => 632910392})
+    assert v.destroy
+  end
 end