Skip to content

Commit b8daa2f

Browse files
committed
Fix rest of non-system specs
1 parent 66a5d29 commit b8daa2f

File tree

3 files changed

+50
-33
lines changed

3 files changed

+50
-33
lines changed

spec/models/item_spec.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -312,7 +312,7 @@
312312

313313
it 'deactivates the kit if it exists' do
314314
kit = create(:kit)
315-
item = create(:item, kit: kit)
315+
item = create(:kit_item, kit: kit)
316316
expect(kit).to be_active
317317
item.deactivate!
318318
expect(item).not_to be_active

spec/services/reports/adult_incontinence_report_service_spec.rb

Lines changed: 45 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -33,29 +33,46 @@
3333
end
3434

3535
describe 'with values' do
36-
before(:each) do
37-
within_time = Time.zone.parse("2020-05-31 14:00:00")
38-
outside_time = Time.zone.parse("2019-05-31 14:00:00")
36+
let(:within_time) { Time.zone.parse("2020-05-31 14:00:00") }
37+
let(:outside_time) { Time.zone.parse("2019-05-31 14:00:00") }
38+
39+
# Concrete items that go inside kits
40+
let!(:ai_concrete_1) { create(:item, name: "Adult Briefs (Medium)", reporting_category: "adult_incontinence", organization: organization) }
41+
let!(:ai_concrete_2) { create(:item, name: "Adult Briefs (Large)", reporting_category: "adult_incontinence", organization: organization) }
42+
let!(:ai_concrete_3) { create(:item, name: "Adult Briefs (Small)", reporting_category: "adult_incontinence", organization: organization) }
43+
let!(:non_ai_concrete) { create(:item, name: "Baby Wipes", reporting_category: "other", organization: organization) }
44+
45+
# Create kits and configure their kit_items with concrete items
46+
let!(:kit_1) do
47+
kit = create(:kit, organization: organization)
48+
kit.kit_item.update!(distribution_quantity: 1)
49+
kit.kit_item.line_items = [create(:line_item, item: ai_concrete_1, quantity: 5)]
50+
kit
51+
end
3952

40-
adult_incontinence_item = organization.items.adult_incontinence.first
41-
non_adult_incontinence_item = organization.items.where.not(id: organization.items.adult_incontinence).first
53+
let!(:kit_2) do
54+
kit = create(:kit, organization: organization)
55+
kit.kit_item.update!(distribution_quantity: 1)
56+
kit.kit_item.line_items = [create(:line_item, item: ai_concrete_2, quantity: 5)]
57+
kit
58+
end
4259

43-
# kit items (each item represents a kit and contains itself as a component)
44-
adult_incontinence_kit_item_1 = create(:item, name: "Adult Briefs (Medium)", reporting_category: "adult_incontinence", distribution_quantity: 1, organization: organization)
45-
adult_incontinence_kit_item_2 = create(:item, name: "Adult Briefs (Large)", reporting_category: "adult_incontinence", distribution_quantity: 1, organization: organization)
46-
adult_incontinence_kit_item_3 = create(:item, name: "Adult Briefs (Small)", reporting_category: "adult_incontinence", distribution_quantity: 1, organization: organization)
47-
non_adult_incontinence_kit_item = create(:item, name: "Baby Wipes", reporting_category: "other", organization: organization)
60+
let!(:kit_4) do
61+
kit = create(:kit, organization: organization)
62+
kit.kit_item.update!(distribution_quantity: 1)
63+
kit.kit_item.line_items = [create(:line_item, item: ai_concrete_3, quantity: 5)]
64+
kit
65+
end
4866

49-
# Add component line items to each kit item
50-
adult_incontinence_kit_item_1.line_items.create!(item: adult_incontinence_kit_item_1, quantity: 5)
51-
adult_incontinence_kit_item_2.line_items.create!(item: adult_incontinence_kit_item_2, quantity: 5)
52-
adult_incontinence_kit_item_3.line_items.create!(item: adult_incontinence_kit_item_3, quantity: 5)
53-
non_adult_incontinence_kit_item.line_items.create!(item: non_adult_incontinence_kit_item, quantity: 5)
67+
let!(:kit_3) do
68+
kit = create(:kit, organization: organization)
69+
kit.kit_item.line_items = [create(:line_item, item: non_ai_concrete, quantity: 5)]
70+
kit
71+
end
5472

55-
@kit_1 = create(:kit, organization: organization, kit_item: adult_incontinence_kit_item_1)
56-
@kit_2 = create(:kit, organization: organization, kit_item: adult_incontinence_kit_item_2)
57-
@kit_4 = create(:kit, organization: organization, kit_item: adult_incontinence_kit_item_3)
58-
@kit_3 = create(:kit, organization: organization, kit_item: non_adult_incontinence_kit_item)
73+
before(:each) do
74+
adult_incontinence_item = organization.items.adult_incontinence.first
75+
non_adult_incontinence_item = organization.items.where.not(id: organization.items.adult_incontinence).first
5976

6077
# kit distributions
6178
kit_distribution_1 = create(:distribution, organization: organization, issued_at: within_time)
@@ -64,11 +81,11 @@
6481
# wipes distribution
6582
kit_distribution_3 = create(:distribution, organization: organization, issued_at: within_time)
6683

67-
create(:line_item, :distribution, quantity: 100, item: @kit_1.kit_item, itemizable: kit_distribution_1)
68-
create(:line_item, :distribution, quantity: 100, item: @kit_2.kit_item, itemizable: kit_distribution_2)
69-
create(:line_item, :distribution, quantity: 100, item: @kit_4.kit_item, itemizable: kit_distribution_4)
84+
create(:line_item, :distribution, quantity: 100, item: kit_1.kit_item, itemizable: kit_distribution_1)
85+
create(:line_item, :distribution, quantity: 100, item: kit_2.kit_item, itemizable: kit_distribution_2)
86+
create(:line_item, :distribution, quantity: 100, item: kit_4.kit_item, itemizable: kit_distribution_4)
7087
# wipes kit no ai items
71-
create(:line_item, :distribution, quantity: 100, item: @kit_3.kit_item, itemizable: kit_distribution_3)
88+
create(:line_item, :distribution, quantity: 100, item: kit_3.kit_item, itemizable: kit_distribution_3)
7289
# We will create data both within and outside our date range, and both adult_incontinence and non adult_incontinence.
7390
# Spec will ensure that only the required data is included.
7491

@@ -141,7 +158,7 @@
141158

142159
it "should return the kits distributed within a specific year" do
143160
result = report.distributed_kits_for_year
144-
expect(result.to_a).to match_array([@kit_1.id, @kit_2.id, @kit_3.id, @kit_4.id])
161+
expect(result.to_a).to match_array([kit_1.id, kit_2.id, kit_3.id, kit_4.id])
145162
end
146163

147164
it 'should report normal values' do
@@ -151,8 +168,8 @@
151168
"% adult incontinence bought" => "60%",
152169
"% adult incontinence supplies donated" => "40%",
153170
"Adults Assisted Per Month" => 233.33,
154-
"Adult incontinence supplies distributed" => "51,800",
155-
"Adult incontinence supplies per adult per month" => 18.5,
171+
"Adult incontinence supplies distributed" => "51,500",
172+
"Adult incontinence supplies per adult per month" => 18.39,
156173
"Money spent purchasing adult incontinence supplies" => "$30.00"
157174
}))
158175
expect(report.report[:entries]['Adult incontinence supplies'].split(', '))
@@ -178,9 +195,9 @@
178195
expect(report.report[:entries]).to match(hash_including({
179196
"% adult incontinence bought" => "60%",
180197
"% adult incontinence supplies donated" => "40%",
181-
"Adult incontinence supplies distributed" => "51,800",
198+
"Adult incontinence supplies distributed" => "51,500",
182199
"Adults Assisted Per Month" => 108.33,
183-
"Adult incontinence supplies per adult per month" => 39.85,
200+
"Adult incontinence supplies per adult per month" => 39.62,
184201
"Money spent purchasing adult incontinence supplies" => "$30.00"
185202
}))
186203
expect(report.report[:entries]['Adult incontinence supplies'].split(', '))

spec/services/reports/children_served_report_service_spec.rb

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,8 @@
4141
create(:line_item, item: infant_disposable_kit_item)
4242
]
4343

44-
create(:item, name: "Kit 1", kit: kit_1, organization:, distribution_quantity: 1)
45-
create(:item, name: "Kit 2", kit: kit_2, organization:, distribution_quantity: 1)
44+
create(:kit_item, name: "Kit 1", kit: kit_1, organization:, distribution_quantity: 1)
45+
create(:kit_item, name: "Kit 2", kit: kit_2, organization:, distribution_quantity: 1)
4646

4747
# Distributions
4848
distributions = create_list(:distribution, 2, issued_at: within_time, organization: organization)
@@ -91,7 +91,7 @@
9191
create(:line_item, item: infant_disposable_kit_item)
9292
]
9393

94-
create(:item, name: "Kit 1", kit:, organization:, distribution_quantity: 1)
94+
create(:kit_item, name: "Kit 1", kit:, organization:, distribution_quantity: 1)
9595

9696
# Distributions
9797
distributions = create_list(:distribution, 2, issued_at: within_time, organization: organization)
@@ -134,7 +134,7 @@
134134
create(:line_item, quantity: 1000, item: not_disposable_kit_item)
135135
]
136136

137-
create(:item, name: "Kit 1", kit:, organization:, distribution_quantity: 3)
137+
create(:kit_item, name: "Kit 1", kit:, organization:, distribution_quantity: 3)
138138

139139
# Distributions
140140
toddler_distribution = create(:distribution, organization: organization, issued_at: within_time)

0 commit comments

Comments
 (0)