order_test.rb 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. require 'test_helper'
  2. class OrderTest < Test::Unit::TestCase
  3. test "create should create order" do
  4. fake 'orders', :method => :post, :status => 201, :body => load_fixture('order')
  5. order = ShopifyAPI::Order.create(line_items: [{quantity:1, variant_id:39072856}], financial_status:"authorized")
  6. assert_equal 39072856, order.line_items.first.variant_id
  7. end
  8. test "create should create an order with custom properties" do
  9. props = [{ :"By default may label with \"Roasted for " => { :"Your First Name" => { :"\". If you want something specific on the label, enter it here:" => "" }}}]
  10. fake 'orders', :method => :post, :status => 201, :body => load_fixture('order_with_properties')
  11. order = ShopifyAPI::Order.create(line_items: [{quantity:1, variant_id:39072856, properties:props}], financial_status:"authorized")
  12. assert_equal 39072856, order.line_items.first.variant_id
  13. end
  14. test "get should get an order" do
  15. fake 'orders/450789469', :method => :get, :status => 200, :body => load_fixture('order')
  16. order = ShopifyAPI::Order.find(450789469)
  17. assert_equal 450789469, order.id
  18. end
  19. test "get should get an order with custom properties" do
  20. fake 'orders/450789469', :method => :get, :status => 200, :body => load_fixture('order_with_properties')
  21. order = ShopifyAPI::Order.find(450789469)
  22. assert_equal 450789469, order.id
  23. end
  24. test "get all should get all orders" do
  25. fake 'orders', :method => :get, :status => 200, :body => load_fixture('orders')
  26. order = ShopifyAPI::Order.all
  27. assert_equal 450789469, order.first.id
  28. end
  29. test "add note should add a note to order" do
  30. fake 'orders/450789469', :method => :get, :status => 200, :body => load_fixture('order')
  31. order = ShopifyAPI::Order.find(450789469)
  32. order.note = "Test note"
  33. fake 'orders/450789469', :method => :put, :status => 200, :body => load_fixture('order')
  34. order.save
  35. assert_equal "Test note", order.note
  36. end
  37. test "delete should delete an order" do
  38. fake 'orders/450789469', :method => :get, :status => 200, :body => load_fixture('order')
  39. fake 'orders/450789469', :method => :delete, :body => 'destroyed'
  40. order = ShopifyAPI::Order.find(450789469)
  41. assert order.destroy
  42. end
  43. test "cancel an order with params" do
  44. fake 'orders/450789469', :method => :get, :status => 200, :body => load_fixture('order')
  45. fake 'orders/450789469/cancel', :method => :post, :body => load_fixture('order')
  46. order = ShopifyAPI::Order.find(450789469)
  47. order.cancel(email: false, restock: true)
  48. assert_request_body({'email' => false, 'restock' => true}.to_json)
  49. end
  50. end