smart_collection_test.rb 1.5 KB

1234567891011121314151617181920212223242526272829303132333435
  1. require 'test_helper'
  2. class SmartCollectionTest < Test::Unit::TestCase
  3. test "Smart Collection creation" do
  4. fake "smart_collections", :method => :post, :status => 201, :body => load_fixture('smart_collection')
  5. rules = { :column => "title", :relation => "starts_with", :condition => "mac" }
  6. smart_collection = ShopifyAPI::SmartCollection.create(:title => "Macbooks", :rules => rules)
  7. assert_equal 1063001432, smart_collection.id
  8. end
  9. test "Smart Collection get products gets all products in a smart collection" do
  10. fake "smart_collections/1063001432", method: :get, status: 200, body: load_fixture('smart_collection')
  11. smart_collection = ShopifyAPI::SmartCollection.find(1063001432)
  12. fake "products.json?collection_id=1063001432",
  13. method: :get,
  14. status: 200,
  15. body:
  16. load_fixture('smart_collection_products'),
  17. extension: false
  18. assert_equal [632910392, 921728736], smart_collection.products.map(&:id)
  19. end
  20. test "Smart Collection get products with only_sorted=only_manual gets only manually sorted products" do
  21. fake "smart_collections/1063001432", method: :get, status: 200, body: load_fixture('smart_collection')
  22. smart_collection = ShopifyAPI::SmartCollection.find(1063001432)
  23. fake "smart_collections/1063001432/products.json?only_sorted=only_manual",
  24. method: :get,
  25. status: 200,
  26. body: load_fixture('smart_collection_products'),
  27. extension: false
  28. assert_equal [632910392, 921728736], smart_collection.products(only_sorted: "only_manual").map(&:id)
  29. end
  30. end