refund_test.rb 1.2 KB

1234567891011121314151617181920212223242526272829303132
  1. require 'test_helper'
  2. class RefundTest < Test::Unit::TestCase
  3. test '#create should create a refund' do
  4. fake "orders/450789469/refunds", method: :post, status: 201, body: load_fixture('refund')
  5. refund = ShopifyAPI::Refund.create(
  6. order_id: 450789469,
  7. restock: true,
  8. note: "wrong size",
  9. shipping: { full_refund: true },
  10. refund_line_items: [{ line_item_id: 518995019, quantity: 1 }]
  11. )
  12. assert_equal 703073504, refund.refund_line_items.first.line_item_id
  13. end
  14. test '#find should return a refund' do
  15. fake "orders/450789469/refunds/509562969.json?order_id=450789469", extension: false, method: :get, body: load_fixture('refund')
  16. fake "orders/450789469/refunds/509562969", method: :get, body: load_fixture('refund')
  17. refund = ShopifyAPI::Refund.find(509562969, params: { order_id: 450789469 })
  18. assert_equal 509562969, refund.id
  19. end
  20. test '#calculate a refund' do
  21. fake "orders/450789469/refunds/calculate", method: :post, body: load_fixture('refund')
  22. data = { shipping: { amount: 0 } }
  23. refund = ShopifyAPI::Refund.calculate(data, params: { order_id: 450789469 })
  24. assert_equal 2, refund.refund_line_items.count
  25. assert_equal 703073504, refund.refund_line_items.first.line_item_id
  26. end
  27. end