From f27598f235253dce7628a0c1899fdd29592b02a8 Mon Sep 17 00:00:00 2001 From: simon lehericey Date: Thu, 31 Oct 2024 03:27:05 +0100 Subject: [PATCH] fix: assign_to.procedure_presentation should return an ActiveModel::Errors if needed the caller will then calls `errors.full_messages` --- app/models/assign_to.rb | 4 +++- spec/models/assign_to_spec.rb | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/app/models/assign_to.rb b/app/models/assign_to.rb index d9f6071c5..cfab77484 100644 --- a/app/models/assign_to.rb +++ b/app/models/assign_to.rb @@ -24,7 +24,9 @@ class AssignTo < ApplicationRecord errors = begin procedure_presentation.errors if procedure_presentation&.invalid? rescue ActiveRecord::RecordNotFound => e - [e.message] + errors = ActiveModel::Errors.new(self) + errors.add(:procedure_presentation, e.message) + errors end if errors.present? diff --git a/spec/models/assign_to_spec.rb b/spec/models/assign_to_spec.rb index 59aaf55dd..8ddad0c57 100644 --- a/spec/models/assign_to_spec.rb +++ b/spec/models/assign_to_spec.rb @@ -45,7 +45,7 @@ describe AssignTo, type: :model do it do expect(procedure_presentation_or_default).to be_persisted expect(procedure_presentation_or_default).to be_valid - expect(errors).to be_present + expect(errors.full_messages).to include(/unable to find procedure 666/) expect(assign_to.procedure_presentation).not_to be(procedure_presentation) end end