|
50 | 50 | it { is_expected.to validate_presence_of(:patient_service_number) } |
51 | 51 | it { is_expected.to validate_presence_of(:room_type) } |
52 | 52 | it { is_expected.to validate_presence_of(:payment) } |
| 53 | + |
| 54 | + context "when validating custom and urgency" do |
| 55 | + let(:user) { create(:user) } |
| 56 | + let(:procedure) { build(:procedure, custom: true, user: user) } |
| 57 | + let(:event) { build(:event_procedure, urgency: true, procedure: procedure) } |
| 58 | + |
| 59 | + it "is invalid when custom and urgency true" do |
| 60 | + expect(event).not_to be_valid |
| 61 | + expect(event.errors[:base]).to include("Custom procedures can't be urgent") |
| 62 | + end |
| 63 | + |
| 64 | + it "is valid when urgency is false and custom is true" do |
| 65 | + event.urgency = false |
| 66 | + expect(event).to be_valid |
| 67 | + end |
| 68 | + |
| 69 | + it "is valid when urgency is true and custom is false" do |
| 70 | + event.procedure.custom = false |
| 71 | + expect(event).to be_valid |
| 72 | + end |
| 73 | + end |
| 74 | + |
| 75 | + context "when patient belongs to a different user" do |
| 76 | + it "is invalid when has different users" do |
| 77 | + user = create(:user) |
| 78 | + other_user = create(:user) |
| 79 | + patient = create(:patient, user: other_user) |
| 80 | + |
| 81 | + event_procedure = build(:event_procedure, user: user, patient: patient) |
| 82 | + |
| 83 | + expect(event_procedure).not_to be_valid |
| 84 | + expect(event_procedure.errors[:base]).to include("The patient must be associated with the same procedure user") |
| 85 | + end |
| 86 | + |
| 87 | + it "is valid when has equal user" do |
| 88 | + user = create(:user) |
| 89 | + patient = create(:patient, user: user) |
| 90 | + event_procedure = build(:event_procedure, user: user, patient: patient) |
| 91 | + |
| 92 | + expect(event_procedure).to be_valid |
| 93 | + end |
| 94 | + end |
53 | 95 | end |
54 | 96 |
|
55 | 97 | describe ".enumerations" do |
|
0 commit comments