Skip to content

Commit 6bb50a1

Browse files
committed
Add tests for diapers and period_supplies scope
1 parent 95154fa commit 6bb50a1

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

spec/models/distribution_spec.rb

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -176,6 +176,39 @@
176176
expect(Distribution.by_location(location_1.id)).not_to include(dist2)
177177
end
178178
end
179+
180+
describe "with_diapers >" do
181+
let(:disposable_item) { create(:item, base_item: create(:base_item, category: "Diapers - Childrens")) }
182+
let(:cloth_diaper_item) { create(:item, base_item: create(:base_item, category: "Diapers - Cloth (Kids)")) }
183+
let(:non_diaper_item) { create(:item, base_item: create(:base_item, category: "Menstrual Supplies/Items")) }
184+
185+
it "only includes distributions with disposable or cloth_diaper items" do
186+
dist1 = create(:distribution, :with_items, item: disposable_item)
187+
dist2 = create(:distribution, :with_items, item: cloth_diaper_item)
188+
dist3 = create(:distribution, :with_items, item: non_diaper_item)
189+
190+
distributions = Distribution.with_diapers
191+
expect(distributions.count).to eq(2)
192+
expect(distributions).to include(dist1)
193+
expect(distributions).to include(dist2)
194+
expect(distributions).not_to include(dist3)
195+
end
196+
end
197+
198+
describe "with_period_supplies >" do
199+
let(:period_supplies_item) { create(:item, base_item: create(:base_item, category: "Menstrual Supplies/Items")) }
200+
let(:non_period_supplies_item) { create(:item, base_item: create(:base_item, category: "Diapers - Childrens")) }
201+
202+
it "only includes distributions with period supplies items" do
203+
dist1 = create(:distribution, :with_items, item: period_supplies_item)
204+
dist2 = create(:distribution, :with_items, item: non_period_supplies_item)
205+
206+
distributions = Distribution.with_period_supplies
207+
expect(distributions.count).to eq(1)
208+
expect(distributions).to include(dist1)
209+
expect(distributions).not_to include(dist2)
210+
end
211+
end
179212
end
180213

181214
context "Callbacks >" do

0 commit comments

Comments
 (0)