@ -2294,19 +2294,76 @@ RSpec.describe BulkUpload::Lettings::Year2023::RowParser do
end
describe " # chcharge " do
let ( :attributes ) { { bulk_upload : , field_127 : " 123.45 " } }
let ( :attributes ) { { bulk_upload : , field_127 : " 123.45 " , field_131 : " 123.45 " , field_130 : " 123.45 " , field_129 : " 123.45 " , field_128 : " 123.45 " } }
it " sets value given " do
expect ( parser . log . chcharge ) . to eq ( 123 . 45 )
end
it " sets is care home to yes " do
expect ( parser . log . is_carehome ) . to eq ( 1 )
end
it " clears any other given charges " do
parser . log . save!
expect ( parser . log . tcharge ) . to be_nil
expect ( parser . log . brent ) . to be_nil
expect ( parser . log . supcharg ) . to be_nil
expect ( parser . log . pscharge ) . to be_nil
expect ( parser . log . scharge ) . to be_nil
end
end
describe " # tcharge " do
let ( :attributes ) { { bulk_upload : , field_132 : " 123.45 " } }
let ( :attributes ) { { bulk_upload : , field_132 : " 123.45 " , field_127 : " 123.45 " , field_128 : " 123.45 " , field_129 : " 123.45 " , field_130 : " 123.45 " , field_131 : " 123.45 " } }
it " sets value given " do
expect ( parser . log . tcharge ) . to eq ( 123 . 45 )
end
context " when other charges are not given " do
context " and it is carehome " do
let ( :attributes ) { { bulk_upload : , field_132 : " 123.45 " , field_127 : " 123.45 " , field_128 : nil , field_129 : nil , field_130 : nil , field_131 : nil } }
it " does not set charges values " do
parser . log . save!
expect ( parser . log . tcharge ) . to be_nil
expect ( parser . log . brent ) . to be_nil
expect ( parser . log . supcharg ) . to be_nil
expect ( parser . log . pscharge ) . to be_nil
expect ( parser . log . scharge ) . to be_nil
end
it " does not add errors to missing charges " do
parser . valid?
expect ( parser . errors [ :field_128 ] ) . to be_empty
expect ( parser . errors [ :field_129 ] ) . to be_empty
expect ( parser . errors [ :field_130 ] ) . to be_empty
expect ( parser . errors [ :field_131 ] ) . to be_empty
end
end
context " and it is not carehome " do
let ( :attributes ) { { bulk_upload : , field_132 : " 123.45 " , field_127 : nil , field_128 : nil , field_129 : nil , field_130 : nil , field_131 : nil } }
it " does not set charges values " do
parser . log . save!
expect ( parser . log . tcharge ) . to be_nil
expect ( parser . log . brent ) . to be_nil
expect ( parser . log . supcharg ) . to be_nil
expect ( parser . log . pscharge ) . to be_nil
expect ( parser . log . scharge ) . to be_nil
end
it " adds an error to all missing charges " do
parser . valid?
expect ( parser . errors [ :field_128 ] ) . to eql ( [ " Please enter the basic rent. If there is no basic rent, please enter '0'. " ] )
expect ( parser . errors [ :field_129 ] ) . to eql ( [ " Please enter the service charge. If there is no service charge, please enter '0'. " ] )
expect ( parser . errors [ :field_130 ] ) . to eql ( [ " Please enter the personal service charge. If there is no personal service charge, please enter '0'. " ] )
expect ( parser . errors [ :field_131 ] ) . to eql ( [ " Please enter the support charge. If there is no support charge, please enter '0'. " ] )
end
end
end
end
describe " # supcharg " do
@ -2315,6 +2372,50 @@ RSpec.describe BulkUpload::Lettings::Year2023::RowParser do
it " sets value given " do
expect ( parser . log . supcharg ) . to eq ( 123 . 45 )
end
context " when other charges are not given " do
context " and it is carehome " do
let ( :attributes ) { { bulk_upload : , field_132 : nil , field_127 : " 123.45 " , field_128 : nil , field_129 : nil , field_130 : nil , field_131 : " 123.45 " } }
it " does not set charges values " do
parser . log . save!
expect ( parser . log . tcharge ) . to be_nil
expect ( parser . log . brent ) . to be_nil
expect ( parser . log . supcharg ) . to be_nil
expect ( parser . log . pscharge ) . to be_nil
expect ( parser . log . scharge ) . to be_nil
end
it " does not add errors to missing charges " do
parser . valid?
expect ( parser . errors [ :field_128 ] ) . to be_empty
expect ( parser . errors [ :field_129 ] ) . to be_empty
expect ( parser . errors [ :field_130 ] ) . to be_empty
expect ( parser . errors [ :field_131 ] ) . to be_empty
end
end
context " and it is not carehome " do
let ( :attributes ) { { bulk_upload : , field_132 : " 123.45 " , field_127 : nil , field_128 : nil , field_129 : nil , field_130 : nil , field_131 : nil } }
it " does not set charges values " do
parser . log . save!
expect ( parser . log . tcharge ) . to be_nil
expect ( parser . log . brent ) . to be_nil
expect ( parser . log . supcharg ) . to be_nil
expect ( parser . log . pscharge ) . to be_nil
expect ( parser . log . scharge ) . to be_nil
end
it " adds an error to all missing charges " do
parser . valid?
expect ( parser . errors [ :field_128 ] ) . to eql ( [ " Please enter the basic rent. If there is no basic rent, please enter '0'. " ] )
expect ( parser . errors [ :field_129 ] ) . to eql ( [ " Please enter the service charge. If there is no service charge, please enter '0'. " ] )
expect ( parser . errors [ :field_130 ] ) . to eql ( [ " Please enter the personal service charge. If there is no personal service charge, please enter '0'. " ] )
expect ( parser . errors [ :field_131 ] ) . to eql ( [ " Please enter the support charge. If there is no support charge, please enter '0'. " ] )
end
end
end
end
describe " # pscharge " do