|
366 | 366 | end |
367 | 367 | end |
368 | 368 |
|
| 369 | + describe "#created_at" do |
| 370 | + subject { generator.created_at } |
| 371 | + |
| 372 | + context "with no triage" do |
| 373 | + it { should be_nil } |
| 374 | + end |
| 375 | + |
| 376 | + context "with a safe to vaccinate triage" do |
| 377 | + let!(:triage) do |
| 378 | + create(:triage, :safe_to_vaccinate, patient:, programme:) |
| 379 | + end |
| 380 | + |
| 381 | + it { should eq(triage.created_at) } |
| 382 | + end |
| 383 | + |
| 384 | + context "with a safe to vaccinate triage and vaccinated" do |
| 385 | + let!(:triage) do |
| 386 | + create(:triage, :safe_to_vaccinate, patient:, programme:) |
| 387 | + end |
| 388 | + |
| 389 | + before { create(:vaccination_record, patient:, programme:) } |
| 390 | + |
| 391 | + it { should eq(triage.created_at) } |
| 392 | + end |
| 393 | + |
| 394 | + context "with a do not vaccinate triage" do |
| 395 | + let!(:triage) { create(:triage, :do_not_vaccinate, patient:, programme:) } |
| 396 | + |
| 397 | + it { should eq(triage.created_at) } |
| 398 | + end |
| 399 | + |
| 400 | + context "with multiple triages" do |
| 401 | + let(:current_academic_year) { AcademicYear.current } |
| 402 | + let!(:latest_triage) do |
| 403 | + create( |
| 404 | + :triage, |
| 405 | + :safe_to_vaccinate, |
| 406 | + patient:, |
| 407 | + programme:, |
| 408 | + created_at: latest_created_at |
| 409 | + ) |
| 410 | + end |
| 411 | + |
| 412 | + let(:older_created_at) do |
| 413 | + Date.new(current_academic_year, 10, 15).in_time_zone |
| 414 | + end |
| 415 | + |
| 416 | + let(:latest_created_at) { older_created_at + 2.days } |
| 417 | + |
| 418 | + before do |
| 419 | + create( |
| 420 | + :triage, |
| 421 | + :safe_to_vaccinate, |
| 422 | + patient:, |
| 423 | + programme:, |
| 424 | + created_at: older_created_at |
| 425 | + ) |
| 426 | + end |
| 427 | + |
| 428 | + |
| 429 | + it { should eq(latest_triage.created_at) } |
| 430 | + end |
| 431 | + |
| 432 | + context "with an invalidated safe to vaccinate triage" do |
| 433 | + before do |
| 434 | + create(:triage, :safe_to_vaccinate, :invalidated, patient:, programme:) |
| 435 | + end |
| 436 | + |
| 437 | + it { should be_nil } |
| 438 | + end |
| 439 | + end |
| 440 | + |
369 | 441 | describe "#without_gelatine" do |
370 | 442 | subject { generator.without_gelatine } |
371 | 443 |
|
|
0 commit comments