mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-25 20:46:48 +00:00
39 lines
1.3 KiB
Ruby
39 lines
1.3 KiB
Ruby
require 'spec_helper'
|
|
|
|
module Spree
|
|
module Admin
|
|
describe VariantsController do
|
|
before { login_as_admin }
|
|
|
|
describe "search action" do
|
|
let!(:p1) { create(:simple_product, name: 'Product 1') }
|
|
let!(:p2) { create(:simple_product, name: 'Product 2') }
|
|
let!(:vo) { create(:variant_override, variant: p1.master, hub: d, count_on_hand: 44) }
|
|
let!(:d) { create(:distributor_enterprise) }
|
|
let!(:oc) { create(:simple_order_cycle, distributors: [d], variants: [p1.master]) }
|
|
|
|
it "filters by distributor" do
|
|
spree_get :search, q: 'Prod', distributor_id: d.id.to_s
|
|
assigns(:variants).should == [p1.master]
|
|
end
|
|
|
|
it "applies variant overrides" do
|
|
spree_get :search, q: 'Prod', distributor_id: d.id.to_s
|
|
assigns(:variants).should == [p1.master]
|
|
assigns(:variants).first.count_on_hand.should == 44
|
|
end
|
|
|
|
it "filters by order cycle" do
|
|
spree_get :search, q: 'Prod', order_cycle_id: oc.id.to_s
|
|
assigns(:variants).should == [p1.master]
|
|
end
|
|
|
|
it "does not filter when no distributor or order cycle is specified" do
|
|
spree_get :search, q: 'Prod'
|
|
assigns(:variants).sort.should == [p1.master, p2.master].sort
|
|
end
|
|
end
|
|
end
|
|
end
|
|
end
|