@ -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