From a36c61dd2cf395faeb1bdb5b0532f601826c5bf5 Mon Sep 17 00:00:00 2001 From: spokenbird Date: Thu, 5 Dec 2024 11:27:21 -0800 Subject: [PATCH] [CCAP-502] Do not map no response from provider for family PDF download --- .../app/pdf/ProviderApplicationPreparer.java | 12 ++++++++++- ...ProviderApplicationPreparerFlagOnTest.java | 21 ++++++++++++++++--- 2 files changed, 29 insertions(+), 4 deletions(-) diff --git a/src/main/java/org/ilgcc/app/pdf/ProviderApplicationPreparer.java b/src/main/java/org/ilgcc/app/pdf/ProviderApplicationPreparer.java index 6b6922974..8f86e6ec4 100644 --- a/src/main/java/org/ilgcc/app/pdf/ProviderApplicationPreparer.java +++ b/src/main/java/org/ilgcc/app/pdf/ProviderApplicationPreparer.java @@ -11,11 +11,16 @@ import formflow.library.pdf.SubmissionField; import formflow.library.pdf.SubmissionFieldPreparer; import java.time.LocalDate; +import java.time.OffsetDateTime; +import java.time.ZoneId; +import java.time.ZonedDateTime; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Optional; import java.util.UUID; +import org.ilgcc.app.utils.ProviderSubmissionUtilities; +import org.ilgcc.app.utils.SubmissionUtilities; import org.springframework.beans.factory.annotation.Value; import lombok.extern.slf4j.Slf4j; import org.ilgcc.app.utils.ChildCareProvider; @@ -224,6 +229,11 @@ private String providerResponse(Submission familySubmission) { } } } - return "No response from provider"; + ZoneId chicagoTimeZone = ZoneId.of("America/Chicago"); + ZonedDateTime todaysDate = OffsetDateTime.now().atZoneSameInstant(chicagoTimeZone); + if (ProviderSubmissionUtilities.providerApplicationHasExpired(familySubmission, todaysDate)) { + return "No response from provider"; + } + return ""; } } diff --git a/src/test/java/org/ilgcc/app/pdf/ProviderApplicationPreparerFlagOnTest.java b/src/test/java/org/ilgcc/app/pdf/ProviderApplicationPreparerFlagOnTest.java index 381fd1a2f..b28939c30 100644 --- a/src/test/java/org/ilgcc/app/pdf/ProviderApplicationPreparerFlagOnTest.java +++ b/src/test/java/org/ilgcc/app/pdf/ProviderApplicationPreparerFlagOnTest.java @@ -33,9 +33,10 @@ public class ProviderApplicationPreparerFlagOnTest { private Submission providerSubmission; @Test - public void setsNoResponseWhenNoProviderSubmissionExists() { + public void setsNoResponseWhenNoProviderSubmissionExistsAndSubmissionIsExpired() { familySubmission = new SubmissionTestBuilder() .withFlow("gcc") + .withSubmittedAtDate(OffsetDateTime.now().minusDays(5)) .withDayCareProvider() .with("familyIntendedProviderName", "ProviderName") .with("familyIntendedProviderPhoneNumber", "(125) 785-67896") @@ -57,6 +58,22 @@ public void setsNoResponseWhenNoProviderSubmissionExists() { assertThat(result.get("dayCareAddressState")).isEqualTo(null); assertThat(result.get("dayCareAddressZip")).isEqualTo(null); } + + @Test + public void shouldNotMapNoProviderResponseIfSubmissionHasNotExpired() { + familySubmission = new SubmissionTestBuilder() + .withFlow("gcc") + .withSubmittedAtDate(OffsetDateTime.now().minusDays(1)) + .withDayCareProvider() + .with("familyIntendedProviderName", "ProviderName") + .with("familyIntendedProviderPhoneNumber", "(125) 785-67896") + .with("familyIntendedProviderEmail", "mail@test.com") + .build(); + + Map result = preparer.prepareSubmissionFields(familySubmission, null); + assertThat(result.get("providerResponse")).isEqualTo( + new SingleField("providerResponse", "", null)); + } @Test public void setsValidatedAddressWhenSelected() { @@ -199,7 +216,5 @@ public void mapsProviderResponseIfProviderAgreesToCare() { assertThat(result.get("dayCareIdNumber")).isEqualTo(null); assertThat(result.get("dayCareAddressStreet")).isEqualTo(null); assertThat(result.get("dayCareAddressZip")).isEqualTo(null); - } - }