|
|
|
@ -252,7 +252,20 @@ RSpec.describe Validations::Sales::SaleInformationValidations do |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
context "when initial purchase date == saledate" do |
|
|
|
context "when initial purchase date == saledate" do |
|
|
|
let(:record) { build(:sales_log, initialpurchase: current_collection_start_date, saledate: current_collection_start_date) } |
|
|
|
let(:record) { build(:sales_log, initialpurchase: collection_start_date_for_year(start_year), saledate: collection_start_date_for_year(start_year)) } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
context "and 2025", metadata: { year: 25 } do |
|
|
|
|
|
|
|
let(:start_year) { 2025 } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
it "does not add an error" do |
|
|
|
|
|
|
|
sale_information_validator.validate_staircasing_initial_purchase_date(record) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
expect(record.errors[:lasttransaction]).not_to be_present |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
context "and 2026", metadata: { year: 26 } do |
|
|
|
|
|
|
|
let(:start_year) { 2026 } |
|
|
|
|
|
|
|
|
|
|
|
it "adds error" do |
|
|
|
it "adds error" do |
|
|
|
sale_information_validator.validate_staircasing_initial_purchase_date(record) |
|
|
|
sale_information_validator.validate_staircasing_initial_purchase_date(record) |
|
|
|
@ -262,6 +275,7 @@ RSpec.describe Validations::Sales::SaleInformationValidations do |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
describe "#validate_staircasing_last_transaction_date" do |
|
|
|
describe "#validate_staircasing_last_transaction_date" do |
|
|
|
context "when last transaction date blank" do |
|
|
|
context "when last transaction date blank" do |
|
|
|
@ -316,7 +330,20 @@ RSpec.describe Validations::Sales::SaleInformationValidations do |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
context "when last transaction date == saledate" do |
|
|
|
context "when last transaction date == saledate" do |
|
|
|
let(:record) { build(:sales_log, lasttransaction: current_collection_start_date, saledate: current_collection_start_date) } |
|
|
|
let(:record) { build(:sales_log, lasttransaction: collection_start_date_for_year(start_year), saledate: collection_start_date_for_year(start_year)) } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
context "and 2025", metadata: { year: 25 } do |
|
|
|
|
|
|
|
let(:start_year) { 2025 } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
it "does not add an error" do |
|
|
|
|
|
|
|
sale_information_validator.validate_staircasing_last_transaction_date(record) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
expect(record.errors[:lasttransaction]).not_to be_present |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
context "and 2026", metadata: { year: 26 } do |
|
|
|
|
|
|
|
let(:start_year) { 2026 } |
|
|
|
|
|
|
|
|
|
|
|
it "adds error" do |
|
|
|
it "adds error" do |
|
|
|
sale_information_validator.validate_staircasing_last_transaction_date(record) |
|
|
|
sale_information_validator.validate_staircasing_last_transaction_date(record) |
|
|
|
@ -325,6 +352,7 @@ RSpec.describe Validations::Sales::SaleInformationValidations do |
|
|
|
expect(record.errors[:saledate]).to eq([I18n.t("validations.sales.sale_information.saledate.must_be_after_last_transaction_date")]) |
|
|
|
expect(record.errors[:saledate]).to eq([I18n.t("validations.sales.sale_information.saledate.must_be_after_last_transaction_date")]) |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
context "when last transaction date after initial purchase date" do |
|
|
|
context "when last transaction date after initial purchase date" do |
|
|
|
let(:record) { build(:sales_log, initialpurchase: 2.months.ago, lasttransaction: 1.month.ago) } |
|
|
|
let(:record) { build(:sales_log, initialpurchase: 2.months.ago, lasttransaction: 1.month.ago) } |
|
|
|
@ -348,7 +376,20 @@ RSpec.describe Validations::Sales::SaleInformationValidations do |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
context "when last transaction date == initial purchase date" do |
|
|
|
context "when last transaction date == initial purchase date" do |
|
|
|
let(:record) { build(:sales_log, lasttransaction: current_collection_start_date, initialpurchase: current_collection_start_date) } |
|
|
|
let(:record) { build(:sales_log, lasttransaction: collection_start_date_for_year(start_year), initialpurchase: collection_start_date_for_year(start_year), saledate: collection_start_date_for_year(start_year) + 1.day) } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
context "and 2025", metadata: { year: 25 } do |
|
|
|
|
|
|
|
let(:start_year) { 2025 } |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
it "does not add an error" do |
|
|
|
|
|
|
|
sale_information_validator.validate_staircasing_last_transaction_date(record) |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
expect(record.errors[:lasttransaction]).not_to be_present |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
context "and 2026", metadata: { year: 26 } do |
|
|
|
|
|
|
|
let(:start_year) { 2026 } |
|
|
|
|
|
|
|
|
|
|
|
it "adds error" do |
|
|
|
it "adds error" do |
|
|
|
sale_information_validator.validate_staircasing_last_transaction_date(record) |
|
|
|
sale_information_validator.validate_staircasing_last_transaction_date(record) |
|
|
|
@ -358,6 +399,7 @@ RSpec.describe Validations::Sales::SaleInformationValidations do |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
describe "#validate_previous_property_unit_type" do |
|
|
|
describe "#validate_previous_property_unit_type" do |
|
|
|
context "when number of bedrooms is <= 1" do |
|
|
|
context "when number of bedrooms is <= 1" do |
|
|
|
|