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