Skip to content

Commit 31309c3

Browse files
authored
Merge pull request #4537 from nhsuk/no-session-today
Fix updating registration status when there isn't a date
2 parents f681e70 + 50816b8 commit 31309c3

File tree

2 files changed

+25
-12
lines changed

2 files changed

+25
-12
lines changed

app/models/patient_session/registration_status.rb

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ class PatientSession::RegistrationStatus < ApplicationRecord
3737
validate: true
3838

3939
def session_attendance
40-
session_attendances.find { it.session_date_id == session_date.id }
40+
session_attendances.find { it.session_date_id == session_date&.id }
4141
end
4242

4343
def assign_status

spec/models/patient_session/registration_status_spec.rb

Lines changed: 24 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,18 +41,31 @@
4141

4242
describe "associations" do
4343
it { should belong_to(:patient_session) }
44+
end
4445

45-
describe "#session_attendance" do
46-
subject do
47-
described_class
48-
.includes(:session_attendances)
49-
.find(patient_session_registration_status.id)
50-
.session_attendance
51-
end
46+
describe "#session_attendance" do
47+
subject do
48+
described_class
49+
.includes(:session_attendances)
50+
.find(patient_session_registration_status.id)
51+
.session_attendance
52+
end
5253

53-
let(:patient_session_registration_status) do
54-
create(:patient_session_registration_status, patient_session:)
55-
end
54+
let(:patient_session_registration_status) do
55+
create(:patient_session_registration_status, patient_session:)
56+
end
57+
58+
context "with no attendances" do
59+
it { should be_nil }
60+
end
61+
62+
context "with no session date today" do
63+
let(:session) { create(:session, date: Date.yesterday, programmes:) }
64+
65+
it { should be_nil }
66+
end
67+
68+
context "with an attendance today and yesterday" do
5669
let(:today_session_attendance) do
5770
create(
5871
:session_attendance,
@@ -76,7 +89,7 @@
7689
end
7790

7891
describe "#status" do
79-
subject(:status) { patient_session_registration_status.assign_status }
92+
subject { patient_session_registration_status.assign_status }
8093

8194
context "with no session attendance" do
8295
it { should be(:unknown) }

0 commit comments

Comments
 (0)