Browse Source

CLDC-4297: test negatives and unify order

pull/3240/head
Nat Dean-Lewis 2 months ago
parent
commit
5ffa8ff2ba
  1. 98
      spec/services/bulk_upload/sales/year2026/row_parser_spec.rb

98
spec/services/bulk_upload/sales/year2026/row_parser_spec.rb

@ -1959,7 +1959,7 @@ RSpec.describe BulkUpload::Sales::Year2026::RowParser do
context "when set to 0" do
let(:attributes) { valid_attributes.merge(field_10: "2", field_107: "0") }
it "does not set mscharge and sets has_mscharge to no" do
it "sets has_mscharge to no and does not set mscharge" do
log = parser.log
expect(log["has_mscharge"]).to eq(0)
expect(log["mscharge"]).to be_nil
@ -1969,7 +1969,7 @@ RSpec.describe BulkUpload::Sales::Year2026::RowParser do
context "when set to R" do
let(:attributes) { valid_attributes.merge(field_10: "2", field_107: "R") }
it "does not set mscharge and sets has_mscharge to no" do
it "sets has_mscharge to no and does not set mscharge" do
log = parser.log
expect(log["has_mscharge"]).to eq(0)
expect(log["mscharge"]).to be_nil
@ -1984,20 +1984,30 @@ RSpec.describe BulkUpload::Sales::Year2026::RowParser do
expect(parser.errors[:field_107]).to include(I18n.t("validations.sales.2026.bulk_upload.mscharge.invalid"))
end
it "does not set mscharge or has_mscharge" do
it "does not set has_mscharge or mscharge" do
log = parser.log
expect(log["mscharge"]).to be_nil
expect(log["has_mscharge"]).to be_nil
expect(log["mscharge"]).to be_nil
end
end
context "when blank" do
let(:attributes) { valid_attributes.merge(field_10: "2", field_107: nil) }
it "leaves mscharge and has_mscharge nil" do
it "leaves has_mscharge and mscharge nil" do
log = parser.log
expect(log["has_mscharge"]).to be_nil
expect(log["mscharge"]).to be_nil
end
end
context "when negative" do
let(:attributes) { valid_attributes.merge(field_10: "2", field_107: "-100") }
it "does not set has_mscharge or mscharge" do
log = parser.log
expect(log["has_mscharge"]).to be_nil
expect(log["mscharge"]).to be_nil
end
end
end
@ -2016,7 +2026,7 @@ RSpec.describe BulkUpload::Sales::Year2026::RowParser do
context "when set to 0" do
let(:attributes) { valid_attributes.merge(field_125: "0") }
it "does not set mscharge and sets has_mscharge to no" do
it "sets has_mscharge to no and does not set mscharge" do
log = parser.log
expect(log["has_mscharge"]).to eq(0)
expect(log["mscharge"]).to be_nil
@ -2026,7 +2036,7 @@ RSpec.describe BulkUpload::Sales::Year2026::RowParser do
context "when set to R" do
let(:attributes) { valid_attributes.merge(field_125: "R") }
it "does not set mscharge and sets has_mscharge to no" do
it "sets has_mscharge to no and does not set mscharge" do
log = parser.log
expect(log["has_mscharge"]).to eq(0)
expect(log["mscharge"]).to be_nil
@ -2041,20 +2051,30 @@ RSpec.describe BulkUpload::Sales::Year2026::RowParser do
expect(parser.errors[:field_125]).to include(I18n.t("validations.sales.2026.bulk_upload.mscharge.invalid"))
end
it "does not set mscharge or has_mscharge" do
it "does not set has_mscharge or mscharge" do
log = parser.log
expect(log["mscharge"]).to be_nil
expect(log["has_mscharge"]).to be_nil
expect(log["mscharge"]).to be_nil
end
end
context "when blank" do
let(:attributes) { valid_attributes.merge(field_125: nil) }
it "leaves mscharge and has_mscharge nil" do
it "leaves has_mscharge and mscharge nil" do
log = parser.log
expect(log["has_mscharge"]).to be_nil
expect(log["mscharge"]).to be_nil
end
end
context "when negative" do
let(:attributes) { valid_attributes.merge(field_125: "-100") }
it "does not set has_mscharge or mscharge" do
log = parser.log
expect(log["has_mscharge"]).to be_nil
expect(log["mscharge"]).to be_nil
end
end
end
@ -2073,7 +2093,7 @@ RSpec.describe BulkUpload::Sales::Year2026::RowParser do
context "when set to 0" do
let(:attributes) { valid_attributes.merge(field_8: "2", field_136: "0") }
it "does not set mscharge and sets has_mscharge to no" do
it "sets has_mscharge to no and does not set mscharge" do
log = parser.log
expect(log["has_mscharge"]).to eq(0)
expect(log["mscharge"]).to be_nil
@ -2083,7 +2103,7 @@ RSpec.describe BulkUpload::Sales::Year2026::RowParser do
context "when set to R" do
let(:attributes) { valid_attributes.merge(field_8: "2", field_136: "R") }
it "does not set mscharge and sets has_mscharge to no" do
it "sets has_mscharge to no and does not set mscharge" do
log = parser.log
expect(log["has_mscharge"]).to eq(0)
expect(log["mscharge"]).to be_nil
@ -2098,20 +2118,30 @@ RSpec.describe BulkUpload::Sales::Year2026::RowParser do
expect(parser.errors[:field_136]).to include(I18n.t("validations.sales.2026.bulk_upload.mscharge.invalid"))
end
it "does not set mscharge or has_mscharge" do
it "does not set has_mscharge or mscharge" do
log = parser.log
expect(log["mscharge"]).to be_nil
expect(log["has_mscharge"]).to be_nil
expect(log["mscharge"]).to be_nil
end
end
context "when blank" do
let(:attributes) { valid_attributes.merge(field_8: "2", field_136: nil) }
it "leaves mscharge and has_mscharge nil" do
it "leaves has_mscharge and mscharge nil" do
log = parser.log
expect(log["has_mscharge"]).to be_nil
expect(log["mscharge"]).to be_nil
end
end
context "when negative" do
let(:attributes) { valid_attributes.merge(field_8: "2", field_136: "-100") }
it "does not set has_mscharge or mscharge" do
log = parser.log
expect(log["has_mscharge"]).to be_nil
expect(log["mscharge"]).to be_nil
end
end
end
@ -2120,30 +2150,30 @@ RSpec.describe BulkUpload::Sales::Year2026::RowParser do
context "when positive" do
let(:attributes) { valid_attributes.merge(field_126: "150") }
it "sets newservicecharges to the value and hasservicechargeschanged to yes" do
it "sets hasservicechargeschanged to yes and newservicecharges to the value" do
log = parser.log
expect(log["newservicecharges"]).to eq(150)
expect(log["hasservicechargeschanged"]).to eq(1)
expect(log["newservicecharges"]).to eq(150)
end
end
context "when set to 0" do
let(:attributes) { valid_attributes.merge(field_126: "0") }
it "sets newservicecharges to 0 and hasservicechargeschanged to yes" do
it "sets hasservicechargeschanged to yes and newservicecharges to 0" do
log = parser.log
expect(log["newservicecharges"]).to eq(0)
expect(log["hasservicechargeschanged"]).to eq(1)
expect(log["newservicecharges"]).to eq(0)
end
end
context "when set to R" do
let(:attributes) { valid_attributes.merge(field_126: "R") }
it "does not set newservicecharges and sets hasservicechargeschanged to no" do
it "sets hasservicechargeschanged to no and does not set newservicecharges" do
log = parser.log
expect(log["newservicecharges"]).to be_nil
expect(log["hasservicechargeschanged"]).to eq(2)
expect(log["newservicecharges"]).to be_nil
end
end
@ -2155,23 +2185,43 @@ RSpec.describe BulkUpload::Sales::Year2026::RowParser do
expect(parser.errors[:field_126]).to include(I18n.t("validations.sales.2026.bulk_upload.newservicecharges.invalid"))
end
it "does not set newservicecharges or hasservicechargeschanged" do
it "does not set hasservicechargeschanged or newservicecharges" do
log = parser.log
expect(log["newservicecharges"]).to be_nil
expect(log["hasservicechargeschanged"]).to be_nil
expect(log["newservicecharges"]).to be_nil
end
end
context "when blank" do
let(:attributes) { valid_attributes.merge(field_126: nil) }
it "does not set newservicecharges and leaves hasservicechargeschanged nil" do
it "leaves hasservicechargeschanged and newservicecharges nil" do
log = parser.log
expect(log["hasservicechargeschanged"]).to be_nil
expect(log["newservicecharges"]).to be_nil
end
end
context "when negative" do
let(:attributes) { valid_attributes.merge(field_126: "-150") }
it "does not set hasservicechargeschanged or newservicecharges" do
log = parser.log
expect(log["hasservicechargeschanged"]).to be_nil
expect(log["newservicecharges"]).to be_nil
end
end
end
context "when newservicecharges equals mscharge (field_125 == field_126)" do
let(:attributes) { valid_attributes.merge(field_125: "200", field_126: "200") }
it "adds validation errors to both fields" do
parser.valid?
expect(parser.errors[:field_125]).to be_present
expect(parser.errors[:field_126]).to be_present
end
end
end
describe "shared ownership sale type" do

Loading…
Cancel
Save