From 6cab52ace9123c1ebac39a8322bdd2f6dfa2d27f Mon Sep 17 00:00:00 2001 From: Reece-Carruthers <99188015+Reece-Carruthers@users.noreply.github.com> Date: Mon, 21 Oct 2024 13:44:11 +0100 Subject: [PATCH 1/3] TGP-2678: Amend messages to match ac --- app/controllers/HomePageController.scala | 22 ++++----- conf/messages.en | 5 +- test/controllers/HomePageControllerSpec.scala | 48 ++++++++++++++++--- 3 files changed, 53 insertions(+), 22 deletions(-) diff --git a/app/controllers/HomePageController.scala b/app/controllers/HomePageController.scala index 73a0088b..b8f1af24 100644 --- a/app/controllers/HomePageController.scala +++ b/app/controllers/HomePageController.scala @@ -42,32 +42,28 @@ class HomePageController @Inject() ( def onPageLoad: Action[AnyContent] = (identify andThen profileAuth andThen getOrCreate).async { implicit request => for { downloadDataSummary <- downloadDataConnector.getDownloadDataSummary(request.eori) - goodsRecords <- goodsRecordConnector.getRecords(request.eori, 1, 1) + goodsRecords <- goodsRecordConnector.getRecords(request.eori, 1, 1) doesGoodsRecordExist = goodsRecords.exists(_.goodsItemRecords.nonEmpty) } yield { val downloadLinkMessagesKey = getDownloadLinkMessagesKey(downloadDataSummary, doesGoodsRecordExist) downloadDataSummary match { case Some(downloadDataSummary) if downloadDataSummary.status == FileReadyUnseen => Ok(view(downloadReady = true, downloadLinkMessagesKey)) - case _ => + case _ => Ok(view(downloadReady = false, downloadLinkMessagesKey)) } } } private def getDownloadLinkMessagesKey(opt: Option[DownloadDataSummary], doesGoodsRecordExist: Boolean): String = - if (doesGoodsRecordExist) { + if (!doesGoodsRecordExist) { + "homepage.downloadLinkText.noGoodsRecords" + } else { opt.map(_.status) match { - case Some(FileInProgress) => - "homepage.downloadLinkText.fileInProgress" - case Some(FileReadyUnseen) => - "homepage.downloadLinkText.fileReady" - case Some(FileReadySeen) => - "homepage.downloadLinkText.fileReady" - case _ => - "homepage.downloadLinkText.requestFile" + case Some(FileInProgress) | Some(FileReadyUnseen) | Some(FileReadySeen) => + "homepage.downloadLinkText.filesRequested" + case _ => + "homepage.downloadLinkText.noFilesRequested" } - } else { - "homepage.downloadLinkText.noGoodsRecords" } } diff --git a/conf/messages.en b/conf/messages.en index c7f2bf51..a01bc0aa 100644 --- a/conf/messages.en +++ b/conf/messages.en @@ -208,10 +208,9 @@ homepage.p6.linkText = Find additional support and contacts to help you homepage.downloadBanner.important = Important homepage.downloadBanner.content = The TGP records file you asked for is ready to download. homepage.downloadBanner.linkText = Go to the TGP records file page to download the file -homepage.downloadLinkText.requestFile = Request a file of your TGP records -homepage.downloadLinkText.fileInProgress = Get an update on your TGP records file or request a new file -homepage.downloadLinkText.fileReady = Download your TGP records file or request a new file homepage.downloadLinkText.noGoodsRecords = You do not have TGP goods records to download. +homepage.downloadLinkText.noFilesRequested = Get your TGP records file +homepage.downloadLinkText.filesRequested = Get or download your TGP records file createRecordStart.title = Creating a goods record createRecordStart.h1 = Creating a goods record diff --git a/test/controllers/HomePageControllerSpec.scala b/test/controllers/HomePageControllerSpec.scala index 2d905357..556712f2 100644 --- a/test/controllers/HomePageControllerSpec.scala +++ b/test/controllers/HomePageControllerSpec.scala @@ -95,7 +95,7 @@ class HomePageControllerSpec extends SpecBase { status(result) mustEqual OK contentAsString(result) mustEqual view( downloadReady = true, - downloadLinkMessagesKey = "homepage.downloadLinkText.fileReady" + downloadLinkMessagesKey = "homepage.downloadLinkText.filesRequested" )(request, messages(application)).toString } } @@ -138,12 +138,48 @@ class HomePageControllerSpec extends SpecBase { status(result) mustEqual OK contentAsString(result) mustEqual view( downloadReady = false, - downloadLinkMessagesKey = "homepage.downloadLinkText.fileReady" + downloadLinkMessagesKey = "homepage.downloadLinkText.filesRequested" )(request, messages(application)).toString } } "must return OK and the correct view for a GET with correct messageKey" - { + "when downloadDataSummary is None" in { + val mockTraderProfileConnector: TraderProfileConnector = mock[TraderProfileConnector] + when(mockTraderProfileConnector.checkTraderProfile(any())(any())) thenReturn Future.successful(true) + + val mockDownloadDataConnector: DownloadDataConnector = mock[DownloadDataConnector] + when(mockDownloadDataConnector.getDownloadDataSummary(any())(any())) thenReturn Future.successful( + None + ) + + val mockGoodsRecordConnector: GoodsRecordConnector = mock[GoodsRecordConnector] + when(mockGoodsRecordConnector.getRecords(any(), any(), any())(any())) thenReturn Future + .successful(Some(goodsResponse)) + + val application = applicationBuilder(userAnswers = Some(emptyUserAnswers)) + .overrides( + bind[TraderProfileConnector].toInstance(mockTraderProfileConnector), + bind[DownloadDataConnector].toInstance(mockDownloadDataConnector), + bind[GoodsRecordConnector].toInstance(mockGoodsRecordConnector) + ) + .build() + + running(application) { + val request = FakeRequest(GET, routes.HomePageController.onPageLoad().url) + + val result = route(application, request).value + + val view = application.injector.instanceOf[HomePageView] + + status(result) mustEqual OK + contentAsString(result) mustEqual view( + downloadReady = false, + downloadLinkMessagesKey = "homepage.downloadLinkText.noFilesRequested" + )(request, messages(application)).toString + } + } + "when downloadDataSummary is RequestFile" in { val downloadDataSummary = DownloadDataSummary( testEori, @@ -181,7 +217,7 @@ class HomePageControllerSpec extends SpecBase { status(result) mustEqual OK contentAsString(result) mustEqual view( downloadReady = false, - downloadLinkMessagesKey = "homepage.downloadLinkText.requestFile" + downloadLinkMessagesKey = "homepage.downloadLinkText.noFilesRequested" )(request, messages(application)).toString } } @@ -223,7 +259,7 @@ class HomePageControllerSpec extends SpecBase { status(result) mustEqual OK contentAsString(result) mustEqual view( downloadReady = false, - downloadLinkMessagesKey = "homepage.downloadLinkText.fileInProgress" + downloadLinkMessagesKey = "homepage.downloadLinkText.filesRequested" )(request, messages(application)).toString } } @@ -265,7 +301,7 @@ class HomePageControllerSpec extends SpecBase { status(result) mustEqual OK contentAsString(result) mustEqual view( downloadReady = true, - downloadLinkMessagesKey = "homepage.downloadLinkText.fileReady" + downloadLinkMessagesKey = "homepage.downloadLinkText.filesRequested" )(request, messages(application)).toString } } @@ -307,7 +343,7 @@ class HomePageControllerSpec extends SpecBase { status(result) mustEqual OK contentAsString(result) mustEqual view( downloadReady = false, - downloadLinkMessagesKey = "homepage.downloadLinkText.fileReady" + downloadLinkMessagesKey = "homepage.downloadLinkText.filesRequested" )(request, messages(application)).toString } } From 703e6e04c02d5f69f55a7e4ee7b6523d65291db7 Mon Sep 17 00:00:00 2001 From: Reece-Carruthers <99188015+Reece-Carruthers@users.noreply.github.com> Date: Mon, 21 Oct 2024 13:49:13 +0100 Subject: [PATCH 2/3] TGP-2678: Pre pr --- app/controllers/HomePageController.scala | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/HomePageController.scala b/app/controllers/HomePageController.scala index b8f1af24..aa3d4d14 100644 --- a/app/controllers/HomePageController.scala +++ b/app/controllers/HomePageController.scala @@ -42,14 +42,14 @@ class HomePageController @Inject() ( def onPageLoad: Action[AnyContent] = (identify andThen profileAuth andThen getOrCreate).async { implicit request => for { downloadDataSummary <- downloadDataConnector.getDownloadDataSummary(request.eori) - goodsRecords <- goodsRecordConnector.getRecords(request.eori, 1, 1) + goodsRecords <- goodsRecordConnector.getRecords(request.eori, 1, 1) doesGoodsRecordExist = goodsRecords.exists(_.goodsItemRecords.nonEmpty) } yield { val downloadLinkMessagesKey = getDownloadLinkMessagesKey(downloadDataSummary, doesGoodsRecordExist) downloadDataSummary match { case Some(downloadDataSummary) if downloadDataSummary.status == FileReadyUnseen => Ok(view(downloadReady = true, downloadLinkMessagesKey)) - case _ => + case _ => Ok(view(downloadReady = false, downloadLinkMessagesKey)) } } @@ -62,7 +62,7 @@ class HomePageController @Inject() ( opt.map(_.status) match { case Some(FileInProgress) | Some(FileReadyUnseen) | Some(FileReadySeen) => "homepage.downloadLinkText.filesRequested" - case _ => + case _ => "homepage.downloadLinkText.noFilesRequested" } } From c2522fbc3263d6d0f3422dea0b1521247bdfa8d2 Mon Sep 17 00:00:00 2001 From: Reece-Carruthers <99188015+Reece-Carruthers@users.noreply.github.com> Date: Mon, 21 Oct 2024 14:14:26 +0100 Subject: [PATCH 3/3] TGP-2678: Swap if around --- app/controllers/HomePageController.scala | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/controllers/HomePageController.scala b/app/controllers/HomePageController.scala index aa3d4d14..9f7ee120 100644 --- a/app/controllers/HomePageController.scala +++ b/app/controllers/HomePageController.scala @@ -56,14 +56,14 @@ class HomePageController @Inject() ( } private def getDownloadLinkMessagesKey(opt: Option[DownloadDataSummary], doesGoodsRecordExist: Boolean): String = - if (!doesGoodsRecordExist) { - "homepage.downloadLinkText.noGoodsRecords" - } else { + if (doesGoodsRecordExist) { opt.map(_.status) match { case Some(FileInProgress) | Some(FileReadyUnseen) | Some(FileReadySeen) => "homepage.downloadLinkText.filesRequested" case _ => "homepage.downloadLinkText.noFilesRequested" } + } else { + "homepage.downloadLinkText.noGoodsRecords" } }