discount_test.rb 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. require 'test_helper'
  2. class DiscountTest < Test::Unit::TestCase
  3. test 'get should get a discount' do
  4. fake 'discounts/680866', method: :get, status: 200, body: load_fixture('discount')
  5. discount = ShopifyAPI::Discount.find(680866)
  6. assert_equal 680866, discount.id
  7. end
  8. test 'get should get all discounts' do
  9. fake 'discounts', method: :get, status: 200, body: load_fixture('discounts')
  10. discounts = ShopifyAPI::Discount.all
  11. assert_equal 'TENOFF', discounts.first.code
  12. end
  13. test 'create should create a discount' do
  14. fake 'discounts', method: :post, status: 201, body: load_fixture('discount')
  15. discount = ShopifyAPI::Discount.create(code: 'TENOFF', discount_type: 'percentage')
  16. assert_equal 'TENOFF', discount.code
  17. end
  18. test 'should disable discount' do
  19. fake 'discounts/680866', method: :get, status: 200, body: load_fixture('discount')
  20. fake 'discounts/680866/disable', method: :post, status: 201, body: load_fixture('discount_disabled')
  21. discount = ShopifyAPI::Discount.find(680866)
  22. discount.disable
  23. assert_equal "disabled", discount.status
  24. end
  25. test 'should enable discount' do
  26. fake 'discounts/680866', method: :get, status: 200, body: load_fixture('discount')
  27. fake 'discounts/680866/enable', method: :post, status: 201, body: load_fixture('discount')
  28. discount = ShopifyAPI::Discount.find(680866)
  29. discount.enable
  30. assert_equal "enabled", discount.status
  31. end
  32. test 'delete should delete discount' do
  33. fake 'discounts/680866', method: :get, status: 200, body: load_fixture('discount')
  34. fake 'discounts/680866', method: :delete, status: 200, body: 'destroyed'
  35. discount = ShopifyAPI::Discount.find(680866)
  36. assert discount.destroy
  37. end
  38. end