|
|
|
@ -979,60 +979,6 @@ RSpec.describe SalesLog, type: :model do
|
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
describe "#child_under_16_constraints!" do |
|
|
|
|
let(:sales_log) { create(:sales_log, saledate: Time.zone.local(2024, 4, 1)) } |
|
|
|
|
|
|
|
|
|
it "sets ecstat2 to 9 when age2 is under 16" do |
|
|
|
|
sales_log.age2 = 14 |
|
|
|
|
sales_log.age2_known = 1 |
|
|
|
|
sales_log.set_derived_fields! |
|
|
|
|
expect(sales_log.ecstat2).to eq(9) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
it "does not clear ecstat2 if it is not 9" do |
|
|
|
|
sales_log.age2 = 22 |
|
|
|
|
sales_log.age2_known = 1 |
|
|
|
|
sales_log.ecstat2 = 3 |
|
|
|
|
sales_log.set_derived_fields! |
|
|
|
|
expect(sales_log.ecstat2).to eq(3) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
it "clears ecstat3 if it is 9 and age3 is not under 16" do |
|
|
|
|
sales_log.age3 = 22 |
|
|
|
|
sales_log.age3_known = 1 |
|
|
|
|
sales_log.ecstat3 = 9 |
|
|
|
|
sales_log.set_derived_fields! |
|
|
|
|
expect(sales_log.ecstat3).to be_nil |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
it "does not clear ecstat3 if it is not 9" do |
|
|
|
|
sales_log.age3 = 22 |
|
|
|
|
sales_log.age3_known = 1 |
|
|
|
|
sales_log.ecstat3 = 8 |
|
|
|
|
sales_log.set_derived_fields! |
|
|
|
|
expect(sales_log.ecstat3).to eq(8) |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
context "when a user changes their answer" do |
|
|
|
|
before do |
|
|
|
|
sales_log.age2 = 14 |
|
|
|
|
sales_log.age2_known = 1 |
|
|
|
|
sales_log.ecstat2 = 9 |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
it "clears the working situation only when no longer a child under 16 and retains the new value" do |
|
|
|
|
sales_log.set_derived_fields! |
|
|
|
|
expect(sales_log.ecstat2).to eq(9) |
|
|
|
|
sales_log.age2 = 22 |
|
|
|
|
sales_log.set_derived_fields! |
|
|
|
|
expect(sales_log.ecstat2).to be_nil |
|
|
|
|
sales_log.ecstat2 = 4 |
|
|
|
|
sales_log.set_derived_fields! |
|
|
|
|
expect(sales_log.ecstat2).to eq(4) |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
context "when form year changes and LA is no longer active" do |
|
|
|
|
let!(:sales_log) { create(:sales_log) } |
|
|
|
|
|
|
|
|
|