require 'test_helper' class ApplicationChargeTest < Test::Unit::TestCase def test_application_charge_create fake "application_charges", :method => :post, :status => 201, :body => load_fixture('application_charge') charge = ShopifyAPI::ApplicationCharge.create( name: "iPod Cleaning", price: 5.00, return_url: "http://google.com" ) assert_equal 'https://this-is-my-test-shop.myshopify.com/admin/charges/803742/confirm_application_charge?signature=BAhpA55DDA%3D%3D--55b44e274e438c619be4631c804abcbcb6ee915a', charge.confirmation_url end def test_get_application_charge fake "application_charges/803742", :method => :get, :status => 201, :body => load_fixture('application_charge') charge = ShopifyAPI::ApplicationCharge.find(803742) assert_equal "iPod Cleaning", charge.name end def test_list_application_charges fake "application_charges", :method => :get, :status => 201, :body => load_fixture('application_charges') charges = ShopifyAPI::ApplicationCharge.find(:all) assert_equal 4, charges.size assert_equal "iPhone Case", charges.last.name end def test_list_pending_application_charges fake "application_charges", :method => :get, :status => 201, :body => load_fixture('application_charges') pending_charges = ShopifyAPI::ApplicationCharge.pending assert_equal 1, pending_charges.size assert_equal "Screen Replacement", pending_charges.first.name end def test_list_cancelled_application_charges fake "application_charges", :method => :get, :status => 201, :body => load_fixture('application_charges') cancelled_charges = ShopifyAPI::ApplicationCharge.cancelled assert_equal 1, cancelled_charges.size assert_equal "iPod Cleaning", cancelled_charges.first.name end def test_list_accepted_application_charges fake "application_charges", :method => :get, :status => 201, :body => load_fixture('application_charges') accepted_charges = ShopifyAPI::ApplicationCharge.accepted assert_equal 1, accepted_charges.size assert_equal "iPhone Case", accepted_charges.first.name end def test_list_declined_application_charges fake "application_charges", :method => :get, :status => 201, :body => load_fixture('application_charges') declined_charges = ShopifyAPI::ApplicationCharge.declined assert_equal 1, declined_charges.size assert_equal "Magic Mouse", declined_charges.first.name end def test_activate_application_charge fake "application_charges", :method => :get, :status => 201, :body => load_fixture('application_charges') fake "application_charges/803740/activate", :method => :post, :status => 200, :body => "{}" charge = ShopifyAPI::ApplicationCharge.accepted assert charge.last.activate end end