Browse Source

CLDC-4248: respond to comments

pull/3200/head
Nat Dean-Lewis 2 months ago
parent
commit
a2b0ae118b
  1. 2
      app/models/validations/sales/financial_validations.rb
  2. 4
      app/services/csv/sales_log_csv_service.rb
  3. 2
      config/locales/forms/2026/sales/sale_information.en.yml
  4. 6
      db/schema.rb
  5. 4
      spec/models/form/sales/pages/service_charge_changed_spec.rb
  6. 4
      spec/models/form/sales/questions/has_service_charges_changed_spec.rb
  7. 2
      spec/models/form/sales/questions/new_service_charges_spec.rb

2
app/models/validations/sales/financial_validations.rb

@ -140,7 +140,7 @@ module Validations::Sales::FinancialValidations
end
def validate_newservicecharges_different_from_mscharge(record)
return unless record.hasservicechargeschanged == 1 && record.newservicecharges && record.mscharge
return unless record.hasservicechargeschanged == 1 && record.newservicecharges && record.has_mscharge == 1 && record.mscharge
if record.newservicecharges == record.mscharge
record.errors.add :newservicecharges, I18n.t("validations.sales.financial.newservicecharges.same_as_previous")

4
app/services/csv/sales_log_csv_service.rb

@ -108,10 +108,6 @@ module Csv
labels: %i[mscharge_value],
codes: %i[mscharge_value],
},
hasservicechargeschanged: {
labels: %i[hasservicechargeschanged_label],
codes: %i[hasservicechargeschanged],
},
newservicecharges: {
labels: %i[newservicecharges],
codes: %i[newservicecharges],

2
config/locales/forms/2026/sales/sale_information.en.yml

@ -296,7 +296,7 @@ en:
check_answer_label: "New monthly service charges"
check_answer_prompt: ""
hint_text: ""
question_text: "Yes, enter monthly amount:"
question_text: "Enter the new total monthly charge"
purchase_price:
discounted_ownership:

6
db/schema.rb

@ -825,6 +825,9 @@ ActiveRecord::Schema[7.2].define(version: 2026_03_05_095832) do
t.string "sexrab5"
t.string "sexrab6"
t.integer "buildheightclass"
t.integer "mortlen_known"
t.integer "hasservicechargeschanged"
t.decimal "newservicecharges", precision: 10, scale: 2
t.integer "gender_same_as_sex1"
t.integer "gender_same_as_sex2"
t.integer "gender_same_as_sex3"
@ -837,9 +840,6 @@ ActiveRecord::Schema[7.2].define(version: 2026_03_05_095832) do
t.string "gender_description4"
t.string "gender_description5"
t.string "gender_description6"
t.integer "mortlen_known"
t.integer "hasservicechargeschanged"
t.decimal "newservicecharges", precision: 10, scale: 2
t.index ["assigned_to_id"], name: "index_sales_logs_on_assigned_to_id"
t.index ["bulk_upload_id"], name: "index_sales_logs_on_bulk_upload_id"
t.index ["created_by_id"], name: "index_sales_logs_on_created_by_id"

4
spec/models/form/sales/pages/service_charge_changed_spec.rb

@ -1,11 +1,13 @@
require "rails_helper"
RSpec.describe Form::Sales::Pages::ServiceChargeChanged, type: :model do
include CollectionTimeHelper
subject(:page) { described_class.new(page_id, page_definition, subsection) }
let(:page_id) { nil }
let(:page_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: Time.zone.local(2026, 4, 1))) }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date: collection_start_date_for_year(2026))) }
it "has correct subsection" do
expect(page.subsection).to eq(subsection)

4
spec/models/form/sales/questions/has_service_charges_changed_spec.rb

@ -1,13 +1,15 @@
require "rails_helper"
RSpec.describe Form::Sales::Questions::HasServiceChargesChanged, type: :model do
include CollectionTimeHelper
subject(:question) { described_class.new(question_id, question_definition, page) }
let(:question_id) { nil }
let(:question_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date:)) }
let(:page) { instance_double(Form::Page, subsection:) }
let(:start_date) { Time.utc(2026, 5, 1) }
let(:start_date) { collection_start_date_for_year(2026) }
it "has correct page" do
expect(question.page).to eq(page)

2
spec/models/form/sales/questions/new_service_charges_spec.rb

@ -7,7 +7,7 @@ RSpec.describe Form::Sales::Questions::NewServiceCharges, type: :model do
let(:question_definition) { nil }
let(:subsection) { instance_double(Form::Subsection, form: instance_double(Form, start_date:)) }
let(:page) { instance_double(Form::Page, subsection:) }
let(:start_date) { Time.utc(2026, 5, 1) }
let(:start_date) { collection_start_date_for_year(2026) }
it "has correct page" do
expect(question.page).to eq(page)

Loading…
Cancel
Save