@ -189,6 +189,62 @@ RSpec.describe FormController, type: :request do
end
end
context " when submitting a sales log with valid owning organisation " do
let ( :sales_log ) { create ( :sales_log ) }
let ( :created_by ) { managing_organisation . users . first }
let ( :params ) do
{
id : sales_log . id ,
sales_log : {
page : " organisation " ,
owning_organisation_id : managing_organisation . id ,
} ,
}
end
before do
sales_log . update! ( owning_organisation : managing_organisation , created_by : )
sales_log . reload
end
it " does not reset created by " do
post " /sales-logs/ #{ sales_log . id } /organisation " , params : params
expect ( response ) . to redirect_to ( " /sales-logs/ #{ sales_log . id } /created-by " )
follow_redirect!
sales_log . reload
expect ( sales_log . created_by ) . to eq ( created_by )
end
end
context " when submitting a sales log with valid merged owning organisation " do
let ( :sales_log ) { create ( :sales_log ) }
let ( :created_by ) { managing_organisation . users . first }
let ( :merged_organisation ) { create ( :organisation ) }
let ( :params ) do
{
id : sales_log . id ,
sales_log : {
page : " organisation " ,
owning_organisation_id : merged_organisation . id ,
} ,
}
end
before do
merged_organisation . update! ( merge_date : Time . zone . today , absorbing_organisation : managing_organisation )
sales_log . update! ( owning_organisation : managing_organisation , created_by : )
sales_log . reload
end
it " does not reset created by " do
post " /sales-logs/ #{ sales_log . id } /organisation " , params : params
expect ( response ) . to redirect_to ( " /sales-logs/ #{ sales_log . id } /created-by " )
follow_redirect!
sales_log . reload
expect ( sales_log . created_by ) . to eq ( created_by )
end
end
context " with valid managing organisation " do
let ( :params ) do
{
@ -214,6 +270,33 @@ RSpec.describe FormController, type: :request do
end
end
context " with valid absorbed managing organisation " do
let ( :params ) do
{
id : lettings_log . id ,
lettings_log : {
page : " stock_owner " ,
owning_organisation_id : stock_owner . id ,
} ,
}
end
let ( :merged_org ) { create ( :organisation ) }
before do
merged_org . update! ( merge_date : Time . zone . today , absorbing_organisation : organisation )
lettings_log . update! ( owning_organisation : merged_org , created_by : user , managing_organisation : merged_org )
lettings_log . reload
end
it " does not reset created by " do
post " /lettings-logs/ #{ lettings_log . id } /stock-owner " , params : params
expect ( response ) . to redirect_to ( " /lettings-logs/ #{ lettings_log . id } /managing-organisation " )
follow_redirect!
lettings_log . reload
expect ( lettings_log . created_by ) . to eq ( user )
end
end
context " with only adding the stock owner " do
let ( :params ) do
{