Repository: hmrc/customs-manage-authorities-frontend
Pull request #216: MMCA-5146-update endpoints for manage auth customsdatastoreconnector
Author: login: AdamCoops
Created: 2025-03-03T14:11:28Z | Merged: 2025-03-07T09:16:30Z



Diff:
diff --git a/app/connectors/CustomsDataStoreConnector.scala b/app/connectors/CustomsDataStoreConnector.scala
index 0ef7dcdc..07af2d2a 100644
--- a/app/connectors/CustomsDataStoreConnector.scala
+++ b/app/connectors/CustomsDataStoreConnector.scala
@@ -21,6 +21,7 @@ import models.{
   CompanyInformation, EmailResponse, EmailResponses, EmailUnverifiedResponse, EmailVerifiedResponse, UndeliverableEmail,
   UnverifiedEmail, XiEoriInformationResponse
 }
+import models.requests.EoriRequest
 import play.api.Logger
 import play.api.http.Status.NOT_FOUND
 import uk.gov.hmrc.auth.core.retrieve.Email
@@ -38,8 +39,8 @@ class CustomsDataStoreConnector @Inject() (appConfig: FrontendAppConfig, httpCli
   val log                      = Logger(this.getClass)
   private val baseDataStoreUrl = appConfig.customsDataStore
 
-  def getCompanyName(eori: String)(implicit hc: HeaderCarrier): Future[Option[String]] = {
-    val endpoint = s"$baseDataStoreUrl/eori/$eori/company-information"
+  def getCompanyName(implicit hc: HeaderCarrier): Future[Option[String]] = {
+    val endpoint = s"$baseDataStoreUrl/eori/company-information"
     httpClient
       .get(url"$endpoint")
       .execute[CompanyInformation]
@@ -55,8 +56,28 @@ class CustomsDataStoreConnector @Inject() (appConfig: FrontendAppConfig, httpCli
       }
   }
 
-  def getXiEori(eori: String)(implicit hc: HeaderCarrier): Future[Option[String]] = {
-    val endpoint                 = s"$baseDataStoreUrl/eori/$eori/xieori-information"
+  def retrieveCompanyInformationThirdParty(eori: String)(implicit hc: HeaderCarrier): Future[Option[String]] = {
+    val endpoint             = s"$baseDataStoreUrl/eori/company-information-third-party"
+    val request: EoriRequest = EoriRequest(eori)
+
+    httpClient
+      .post(url"$endpoint")
+      .withBody(request)
+      .execute[CompanyInformation]
+      .map { response =>
+        response.consent match {
+          case "1" => Some(response.name)
+          case _   => None
+        }
+      }
+      .recover { case e =>
+        log.error(s"Call to data stored failed for retrieveCompanyInformationThirdParty exception=$e")
+        None
+      }
+  }
+
+  def getXiEori(implicit hc: HeaderCarrier): Future[Option[String]] = {
+    val endpoint                 = s"$baseDataStoreUrl/eori/xieori-information"
     val isXiEoriEnabled: Boolean = appConfig.xiEoriEnabled
 
     if (isXiEoriEnabled) {
@@ -75,8 +96,8 @@ class CustomsDataStoreConnector @Inject() (appConfig: FrontendAppConfig, httpCli
     }
   }
 
-  def getEmail(eori: String)(implicit hc: HeaderCarrier): Future[Either[EmailResponses, Email]] = {
-    val endpoint = s"$baseDataStoreUrl/eori/$eori/verified-email"
+  def getEmail(implicit hc: HeaderCarrier): Future[Either[EmailResponses, Email]] = {
+    val endpoint = s"$baseDataStoreUrl/eori/verified-email"
     httpClient
       .get(url"$endpoint")
       .execute[EmailResponse]
@@ -104,5 +125,4 @@ class CustomsDataStoreConnector @Inject() (appConfig: FrontendAppConfig, httpCli
       .get(url"$endpoint")
       .execute[EmailVerifiedResponse]
   }
-
 }
diff --git a/app/controllers/ManageAuthoritiesController.scala b/app/controllers/ManageAuthoritiesController.scala
index 64f7f409..92496964 100644
--- a/app/controllers/ManageAuthoritiesController.scala
+++ b/app/controllers/ManageAuthoritiesController.scala
@@ -69,7 +69,7 @@ class ManageAuthoritiesController @Inject() (
     val returnToUrl = appConfig.manageAuthoritiesServiceUrl + routes.ManageAuthoritiesController.onPageLoad().url
 
     val response = for {
-      xiEori                 <- dataStoreConnector.getXiEori(request.eoriNumber)
+      xiEori                 <- dataStoreConnector.getXiEori
       accountsFromCache      <- accountsCacheService.retrieveAccountsForId(request.internalId)
       accounts               <- fetchAccounts(xiEori, accountsFromCache)
       authoritiesFromCache   <- service.retrieveAuthoritiesForId(request.internalId)
@@ -106,7 +106,7 @@ class ManageAuthoritiesController @Inject() (
   def fetchAuthoritiesOnMIDVAHomePageLoad(eori: EORI): Action[AnyContent] =
     (identify andThen checkEmailIsVerified).async { implicit request =>
       val fetchedAuthorities: Future[Option[AuthoritiesWithId]] = for {
-        xiEori      <- dataStoreConnector.getXiEori(eori)
+        xiEori      <- dataStoreConnector.getXiEori
         accounts    <- getAllAccounts(eori, xiEori)
         authorities <- getAllAuthorities(eori, xiEori, accounts)
       } yield authorities
diff --git a/app/controllers/actions/EmailAction.scala b/app/controllers/actions/EmailAction.scala
index 05452d7a..8745d38d 100644
--- a/app/controllers/actions/EmailAction.scala
+++ b/app/controllers/actions/EmailAction.scala
@@ -38,8 +38,7 @@ class EmailAction @Inject() (dataStoreConnector: CustomsDataStoreConnector)(impl
   def filter[A](request: IdentifierRequest[A]): Future[Option[Result]] = {
     implicit val hc: HeaderCarrier = HeaderCarrierConverter.fromRequestAndSession(request, request.session)
 
-    dataStoreConnector
-      .getEmail(request.eoriNumber)
+    dataStoreConnector.getEmail
       .map {
         case Left(value) => checkEmailResponseAndRedirect(value)
         case Right(_)    => None
diff --git a/app/controllers/add/AuthorisedUserController.scala b/app/controllers/add/AuthorisedUserController.scala
index 285815b5..dfbd0aaa 100644
--- a/app/controllers/add/AuthorisedUserController.scala
+++ b/app/controllers/add/AuthorisedUserController.scala
@@ -73,7 +73,7 @@ class AuthorisedUserController @Inject() (
   def onSubmit(): Action[AnyContent] =
     (identify andThen getData andThen requireData andThen verifyAccountNumbers).async { implicit request =>
       for {
-        xiEori <- dataStore.getXiEori(request.eoriNumber)
+        xiEori <- dataStore.getXiEori
         result <- doSubmission(request.userAnswers, xiEori.getOrElse(emptyString), request.eoriNumber)
       } yield result
     }
diff --git a/app/controllers/add/EoriNumberController.scala b/app/controllers/add/EoriNumberController.scala
index 82731827..4a44e80d 100644
--- a/app/controllers/add/EoriNumberController.scala
+++ b/app/controllers/add/EoriNumberController.scala
@@ -91,7 +91,7 @@ class EoriNumberController @Inject() (
       errorView(mode, inputEoriNumber, "eoriNumber.error.authorise-own-eori")(request, msgs, appConfig)
     } else {
       val result = for {
-        xiEori: Option[String] <- dataStore.getXiEori(request.eoriNumber)
+        xiEori: Option[String] <- dataStore.getXiEori
       } yield performXiEoriChecks(xiEori, inputEoriNumber, eori, mode, request, hc, msgs)
 
       result.flatten
@@ -122,7 +122,7 @@ class EoriNumberController @Inject() (
     eori: String
   ): Future[Result] =
     (for {
-      companyName                         <- dataStore.getCompanyName(eori)(hc)
+      companyName                         <- dataStore.retrieveCompanyInformationThirdParty(eori)(hc)
       companyDetails                       = CompanyDetails(eori, companyName)
       updatedAnswers                      <-
         Future.fromTry(
diff --git a/app/controllers/edit/EditCheckYourAnswersController.scala b/app/controllers/edit/EditCheckYourAnswersController.scala
index 6073ded9..1b738a9d 100644
--- a/app/controllers/edit/EditCheckYourAnswersController.scala
+++ b/app/controllers/edit/EditCheckYourAnswersController.scala
@@ -65,7 +65,8 @@ class EditCheckYourAnswersController @Inject() (
       case Left(NoAuthority)                              => errorPage(MissingAuthorityError)
       case Left(NoAccount)                                => errorPage(MissingAccountError)
       case Right(AccountAndAuthority(account, authority)) =>
-        val companyName = Await.result(dataStore.getCompanyName(authority.authorisedEori), Duration.Inf)
+        val companyName =
+          Await.result(dataStore.retrieveCompanyInformationThirdParty(authority.authorisedEori), Duration.Inf)
         val helper      = new CheckYourAnswersEditHelper(
           request.userAnswers,
           accountId,
@@ -88,7 +89,7 @@ class EditCheckYourAnswersController @Inject() (
 
         case Right(AccountAndAuthority(account, authority)) =>
           for {
-            xiEori <- dataStore.getXiEori(request.eoriNumber)
+            xiEori <- dataStore.getXiEori
             result <- doSubmission(
                         request.userAnswers,
                         accountId,
diff --git a/app/controllers/edit/EditConfirmationController.scala b/app/controllers/edit/EditConfirmationController.scala
index 964e086f..5e18aa90 100644
--- a/app/controllers/edit/EditConfirmationController.scala
+++ b/app/controllers/edit/EditConfirmationController.scala
@@ -66,7 +66,7 @@ class EditConfirmationController @Inject() (
         account                 <- fromOption[Future](accountsWithAuthorities.authorities.get(accountId))
         authority               <- fromOption[Future](account.authorities.get(authorityId))
         eori                    <- fromOption[Future](Some(authority.authorisedEori))
-        companyName             <- OptionT.liftF(dataStore.getCompanyName(authority.authorisedEori))
+        companyName             <- OptionT.liftF(dataStore.retrieveCompanyInformationThirdParty(authority.authorisedEori))
         _                       <- liftF(sessionRepository.clear(request.userAnswers.id))
         _                       <- liftF(accountsRepository.clear(request.internalId.value))
         _                       <- liftF(authoritiesRepository.clear(request.internalId.value))
diff --git a/app/controllers/remove/RemoveCheckYourAnswers.scala b/app/controllers/remove/RemoveCheckYourAnswers.scala
index 9f13c804..62c3a269 100644
--- a/app/controllers/remove/RemoveCheckYourAnswers.scala
+++ b/app/controllers/remove/RemoveCheckYourAnswers.scala
@@ -84,7 +84,7 @@ class RemoveCheckYourAnswers @Inject() (
 
         case Right(AccountAndAuthority(account, authority)) =>
           for {
-            xiEori <- dataStore.getXiEori(request.eoriNumber)
+            xiEori <- dataStore.getXiEori
             result <- request.userAnswers
                         .get(RemoveAuthorisedUserPage(accountId, authorityId))
                         .map { authorisedUser =>
diff --git a/app/controllers/remove/RemoveConfirmationController.scala b/app/controllers/remove/RemoveConfirmationController.scala
index fd52dcfa..10ee9257 100644
--- a/app/controllers/remove/RemoveConfirmationController.scala
+++ b/app/controllers/remove/RemoveConfirmationController.scala
@@ -55,7 +55,7 @@ class RemoveConfirmationController @Inject() (
         ids         <- OptionT.liftF(service.retrieveAuthorities(request.internalId))
         account     <- OptionT.fromOption[Future](ids.authorities.get(accountId))
         authority   <- OptionT.fromOption[Future](account.authorities.get(authorityId))
-        companyName <- OptionT.liftF(dataStore.getCompanyName(authority.authorisedEori))
+        companyName <- OptionT.liftF(dataStore.retrieveCompanyInformationThirdParty(authority.authorisedEori))
         _           <- OptionT.liftF(repository.clear(request.internalId.value))
         _           <- OptionT.liftF(confirmationService.populateConfirmation(request.internalId.value, authority.authorisedEori))
       } yield Ok(view(authority.authorisedEori, companyName))).value
diff --git a/app/models/requests/EoriRequest.scala b/app/models/requests/EoriRequest.scala
new file mode 100644
index 00000000..eba83d8b
--- /dev/null
+++ b/app/models/requests/EoriRequest.scala
@@ -0,0 +1,32 @@
+/*
+ * Copyright 2024 HM Revenue & Customs
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package models.requests
+
+import play.api.libs.json.{Json, OFormat, Writes}
+import play.api.libs.ws.JsonBodyWritables._
+import play.api.libs.ws.BodyWritable
+
+case class EoriRequest(eori: String)
+
+object EoriRequest {
+  implicit val format: OFormat[EoriRequest] = Json.format[EoriRequest]
+
+  implicit def jsonBodyWritable[T: Writes]: BodyWritable[T] = BodyWritable(
+    json => writeableOf_JsValue.transform(Json.toJson(json)),
+    "application/json"
+  )
+}
diff --git a/app/services/AuthorisedEoriAndCompanyInfoService.scala b/app/services/AuthorisedEoriAndCompanyInfoService.scala
index 173d7c8c..a991382b 100644
--- a/app/services/AuthorisedEoriAndCompanyInfoService.scala
+++ b/app/services/AuthorisedEoriAndCompanyInfoService.scala
@@ -40,7 +40,8 @@ class AuthorisedEoriAndCompanyInfoService @Inject() (
   )(implicit hc: HeaderCarrier): Future[Option[Map[String, String]]] = {
 
     lazy val eoriAndCompanyMap = for {
-      eoriSeq: Seq[Option[EORI]] <- Future.sequence(eoris.toSeq.map(dataStoreConnector.getCompanyName(_)))
+      eoriSeq: Seq[Option[EORI]] <-
+        Future.sequence(eoris.toSeq.map(dataStoreConnector.retrieveCompanyInformationThirdParty(_)))
     } yield eoris.zip(eoriSeq).toMap.map(keyValue => (keyValue._1, keyValue._2.getOrElse(emptyString)))
 
     repository.get(internalId.value).flatMap {
diff --git a/app/services/EditSessionService.scala b/app/services/EditSessionService.scala
index e4b60ccb..f457b62a 100644
--- a/app/services/EditSessionService.scala
+++ b/app/services/EditSessionService.scala
@@ -43,7 +43,8 @@ class EditSessionService @Inject() (sessionRepository: SessionRepository, dateTi
   )(implicit messages: Messages, hc: HeaderCarrier): Future[CheckYourAnswersEditHelper] = {
 
     val newUserAnswers = UserAnswers(userAnswers.id)
-    val companyName    = Await.result(dataStore.getCompanyName(authority.authorisedEori), Duration.Inf)
+    val companyName    =
+      Await.result(dataStore.retrieveCompanyInformationThirdParty(authority.authorisedEori), Duration.Inf)
 
     for {
       populatedStartDatePage <- populateStartDatePage(newUserAnswers, accountId, authorityId, authority)
diff --git a/app/viewmodels/CheckYourAnswersRemoveHelper.scala b/app/viewmodels/CheckYourAnswersRemoveHelper.scala
index f6628da7..dcb54a3a 100644
--- a/app/viewmodels/CheckYourAnswersRemoveHelper.scala
+++ b/app/viewmodels/CheckYourAnswersRemoveHelper.scala
@@ -41,7 +41,7 @@ class CheckYourAnswersRemoveHelper(
     extends SummaryListRowHelper {
 
   val companyName: Option[String] =
-    Await.result(dataStore.getCompanyName(standingAuthority.authorisedEori), Duration.Inf)
+    Await.result(dataStore.retrieveCompanyInformationThirdParty(standingAuthority.authorisedEori), Duration.Inf)
   private val isXiEori: Boolean   = standingAuthority.authorisedEori.startsWith(nIEORIPrefix)
 
   def authorisedCompanyDetailsRows: Seq[SummaryListRow] =
diff --git a/project/AppDependencies.scala b/project/AppDependencies.scala
index 123d54f3..39b1c334 100644
--- a/project/AppDependencies.scala
+++ b/project/AppDependencies.scala
@@ -2,13 +2,13 @@ import sbt.*
 
 object AppDependencies {
 
-  private val bootstrapVersion = "9.5.0"
-  private val mongoVersion = "2.3.0"
+  private val bootstrapVersion = "9.10.0"
+  private val mongoVersion = "2.5.0"
 
   val compile: Seq[ModuleID] = Seq(
     play.sbt.PlayImport.ws,
     "uk.gov.hmrc" %% "bootstrap-frontend-play-30" % bootstrapVersion,
-    "uk.gov.hmrc" %% "play-frontend-hmrc-play-30" % "11.6.0",
+    "uk.gov.hmrc" %% "play-frontend-hmrc-play-30" % "11.11.0",
     "uk.gov.hmrc.mongo" %% "hmrc-mongo-play-30" % mongoVersion,
     "uk.gov.hmrc" %% "play-partials-play-30" % "10.0.0",
     "org.typelevel" %% "cats-core" % "2.10.0"
diff --git a/project/plugins.sbt b/project/plugins.sbt
index 68be5614..e2f9cf8c 100644
--- a/project/plugins.sbt
+++ b/project/plugins.sbt
@@ -5,9 +5,9 @@ resolvers += "Typesafe Releases" at "https://repo.typesafe.com/typesafe/releases
 
 addSbtPlugin("uk.gov.hmrc" % "sbt-auto-build" % "3.24.0")
 
-addSbtPlugin("uk.gov.hmrc" % "sbt-distributables" % "2.5.0")
+addSbtPlugin("uk.gov.hmrc" % "sbt-distributables" % "2.6.0")
 
-addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.5")
+addSbtPlugin("org.playframework" % "sbt-plugin" % "3.0.6")
 
 addSbtPlugin("org.scalastyle" %% "scalastyle-sbt-plugin" % "1.0.0"
   exclude("org.scala-lang.modules", "scala-xml_2.12"))
diff --git a/test/connectors/CustomsDataStoreConnectorSpec.scala b/test/connectors/CustomsDataStoreConnectorSpec.scala
index c359278e..92c67445 100644
--- a/test/connectors/CustomsDataStoreConnectorSpec.scala
+++ b/test/connectors/CustomsDataStoreConnectorSpec.scala
@@ -43,8 +43,8 @@ class CustomsDataStoreConnectorSpec
   implicit private lazy val hc: HeaderCarrier        = HeaderCarrier()
   implicit val ec: scala.concurrent.ExecutionContext = scala.concurrent.ExecutionContext.global
 
-  ".getCompanyName" must {
-    "return companyName when consent is defined as 1(True)" in new Setup {
+  "retrieveCompanyInformationThirdParty" must {
+    "return Company Information Third Party when consent is defined as 1(True)" in new Setup {
       val response: String =
         """
           |{
@@ -63,16 +63,16 @@ class CustomsDataStoreConnectorSpec
 
       running(app) {
         server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/company-information"))
+          post(urlEqualTo("/customs-data-store/eori/company-information-third-party"))
             .willReturn(ok(response))
         )
 
-        val result = connector.getCompanyName("GB123456789012").futureValue
+        val result = connector.retrieveCompanyInformationThirdParty("GB123456789012").futureValue
         result mustBe expectedResult
       }
     }
 
-    "return None when consent is defined as 0(False)" in new Setup {
+    "return None when consent is defined as 0(False) for company info" in new Setup {
       val response: String =
         """
           |{
@@ -89,16 +89,16 @@ class CustomsDataStoreConnectorSpec
 
       running(app) {
         server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/company-information"))
+          post(urlEqualTo("/customs-data-store/eori/company-information-third-party"))
             .willReturn(ok(response))
         )
 
-        val result = connector.getCompanyName("GB123456789012").futureValue
+        val result = connector.retrieveCompanyInformationThirdParty("GB123456789012").futureValue
         result mustBe expected
       }
     }
 
-    "return None when consent is empty" in new Setup {
+    "return None when consent is empty for company info" in new Setup {
       val response: String =
         """
           |{
@@ -115,231 +115,316 @@ class CustomsDataStoreConnectorSpec
 
       running(app) {
         server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/company-information"))
+          post(urlEqualTo("/customs-data-store/eori/company-information-third-party"))
             .willReturn(ok(response))
         )
 
-        val result = connector.getCompanyName("GB123456789012").futureValue
+        val result = connector.retrieveCompanyInformationThirdParty("GB123456789012").futureValue
         result mustBe expected
       }
     }
   }
 
-  ".get XiEori" must {
-    "return xi eori when it is returned from data store" in new Setup {
+  ".getCompanyName" must {
+    "return companyName when consent is defined as 1(True)" in new Setup {
       val response: String =
         """
           |{
-          |   "xiEori":"XI1234567",
+          |   "name":"Tony Stark",
           |   "consent":"1",
           |   "address":{
-          |      "pbeAddressLine1":"86 street",
-          |      "pbeAddressLine2":"London",
-          |      "pbeAddressLine3":"GB"
+          |      "streetAndNumber":"86 Mysore Road",
+          |      "city":"London",
+          |      "postalCode":"SW11 5RZ",
+          |      "countryCode":"GB"
           |   }
           |}
           |""".stripMargin
 
-      val expectedResult: Option[String] = Some("XI1234567")
+      val expectedResult: Option[String] = Some("Tony Stark")
 
       running(app) {
-
         server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/xieori-information"))
+          get(urlEqualTo("/customs-data-store/eori/company-information"))
             .willReturn(ok(response))
         )
 
-        val result = connector.getXiEori("GB123456789012").futureValue
+        val result = connector.getCompanyName.futureValue
         result mustBe expectedResult
       }
     }
 
-    "return None when empty XI EORI value is returned from data store" in new Setup {
+    "return None when consent is defined as 0(False) for company info" in new Setup {
       val response: String =
         """
           |{
-          |   "xiEori":"",
-          |   "consent":"1",
+          |   "name":"Tony Stark",
+          |   "consent":"0",
           |   "address":{
-          |      "pbeAddressLine1":"86 street",
-          |      "pbeAddressLine2":"London",
-          |      "pbeAddressLine3":"GB"
+          |      "streetAndNumber":"86 Mysore Road",
+          |      "city":"London",
+          |      "postalCode":"SW11 5RZ",
+          |      "countryCode":"GB"
           |   }
           |}
           |""".stripMargin
 
       running(app) {
-
         server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/xieori-information"))
+          get(urlEqualTo("/customs-data-store/eori/company-information"))
             .willReturn(ok(response))
         )
-        val result = connector.getXiEori("GB123456789012").futureValue
-        result mustBe expected
-      }
-    }
-
-    "return None when error response is returned" in new Setup {
-
-      running(app) {
 
-        server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/xieori-information"))
-            .willReturn(serverError())
-        )
-        val result = connector.getXiEori("GB123456789012").futureValue
+        val result = connector.getCompanyName.futureValue
         result mustBe expected
       }
     }
 
-    "return None when feature flag is false" in {
-
-      val mockAppConfig = mock[FrontendAppConfig]
-      when(mockAppConfig.xiEoriEnabled).thenReturn(false)
-      when(mockAppConfig.customsDataStore).thenReturn("some/string")
-
-      val response =
+    "return None when consent is empty for company info" in new Setup {
+      val response: String =
         """
           |{
-          |   "xiEori":"",
-          |   "consent":"1",
+          |   "name":"Tony Stark",
+          |   "consent": None,
           |   "address":{
-          |      "pbeAddressLine1":"86 street",
-          |      "pbeAddressLine2":"London",
-          |      "pbeAddressLine3":"GB"
+          |      "streetAndNumber":"86 Mysore Road",
+          |      "city":"London",
+          |      "postalCode":"SW11 5RZ",
+          |      "countryCode":"GB"
           |   }
           |}
           |""".stripMargin
 
-      val application: Application =
-        new GuiceApplicationBuilder()
-          .overrides(inject.bind[FrontendAppConfig].toInstance(mockAppConfig))
-          .configure("microservice.services.customs-data-store.port" -> server.port)
-          .build()
-
-      val connector = application.injector.instanceOf[CustomsDataStoreConnector]
-
-      running(application) {
-
+      running(app) {
         server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/xieori-information"))
+          get(urlEqualTo("/customs-data-store/eori/company-information"))
             .willReturn(ok(response))
         )
 
-        val result = connector.getXiEori("GB123456789012").futureValue
-        result mustBe None
+        val result = connector.getCompanyName.futureValue
+        result mustBe expected
       }
     }
-  }
-
-  "getEmail" should {
-    "return an email address when the request is successful and undeliverable is not present in the response" in new Setup {
-      val emailResponse: String =
-        """{
-          |"address": "some@email.com"
-          |}""".stripMargin
 
-      running(app) {
+    ".get XiEori" must {
+      "return xi eori when it is returned from data store" in new Setup {
+        val response: String =
+          """
+            |{
+            |   "xiEori":"XI1234567",
+            |   "consent":"1",
+            |   "address":{
+            |      "pbeAddressLine1":"86 street",
+            |      "pbeAddressLine2":"London",
+            |      "pbeAddressLine3":"GB"
+            |   }
+            |}
+            |""".stripMargin
+
+        val expectedResult: Option[String] = Some("XI1234567")
+
+        running(app) {
+
+          server.stubFor(
+            get(urlEqualTo("/customs-data-store/eori/xieori-information"))
+              .willReturn(ok(response))
+          )
+
+          val result = connector.getXiEori.futureValue
+          result mustBe expectedResult
+        }
+      }
 
-        server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/verified-email"))
-            .willReturn(ok(emailResponse))
-        )
-        val result = connector.getEmail("GB123456789012").futureValue
-        result mustBe Right(Email("some@email.com"))
+      "return None when empty XI EORI value is returned from data store" in new Setup {
+        val response: String =
+          """
+            |{
+            |   "xiEori":"",
+            |   "consent":"1",
+            |   "address":{
+            |      "pbeAddressLine1":"86 street",
+            |      "pbeAddressLine2":"London",
+            |      "pbeAddressLine3":"GB"
+            |   }
+            |}
+            |""".stripMargin
+
+        running(app) {
+
+          server.stubFor(
+            get(urlEqualTo("/customs-data-store/eori/xieori-information"))
+              .willReturn(ok(response))
+          )
+          val result = connector.getXiEori.futureValue
+          result mustBe expected
+        }
       }
-    }
 
-    "return no email address when the request is successful and undeliverable is present in the response" in new Setup {
-      val emailResponse: String =
-        """{
-          |"address": "some@email.com",
-          |"timestamp": "2022-10-10T11:22:22Z",
-          |"undeliverable": {
-          |"subject": "someSubject"
-          |}
-          |}""".stripMargin
+      "return None when error response is returned" in new Setup {
 
-      running(app) {
-        server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/verified-email"))
-            .willReturn(ok(emailResponse))
-        )
+        running(app) {
 
-        val result = connector.getEmail("GB123456789012").futureValue
-        result mustBe Left(UndeliverableEmail("some@email.com"))
+          server.stubFor(
+            get(urlEqualTo("/customs-data-store/eori/xieori-information"))
+              .willReturn(serverError())
+          )
+          val result = connector.getXiEori.futureValue
+          result mustBe expected
+        }
+      }
+
+      "return None when feature flag is false" in {
+
+        val mockAppConfig = mock[FrontendAppConfig]
+        when(mockAppConfig.xiEoriEnabled).thenReturn(false)
+        when(mockAppConfig.customsDataStore).thenReturn("some/string")
+
+        val response =
+          """
+            |{
+            |   "xiEori":"",
+            |   "consent":"1",
+            |   "address":{
+            |      "pbeAddressLine1":"86 street",
+            |      "pbeAddressLine2":"London",
+            |      "pbeAddressLine3":"GB"
+            |   }
+            |}
+            |""".stripMargin
+
+        val application: Application =
+          new GuiceApplicationBuilder()
+            .overrides(inject.bind[FrontendAppConfig].toInstance(mockAppConfig))
+            .configure("microservice.services.customs-data-store.port" -> server.port)
+            .build()
+
+        val connector = application.injector.instanceOf[CustomsDataStoreConnector]
+
+        running(application) {
+
+          server.stubFor(
+            get(urlEqualTo("/customs-data-store/eori/xieori-information"))
+              .willReturn(ok(response))
+          )
+
+          val result = connector.getXiEori.futureValue
+          result mustBe None
+        }
       }
     }
 
-    "return unverifiedEmail when the request is successful and email address is not present in the response" in new Setup {
-      val emailResponse = """{}"""
+    "getEmail" should {
+      "return an email address when the request is successful and undeliverable" +
+        " is not present in the response" in new Setup {
+
+          val emailResponse: String =
+            """{
+            |"address": "some@email.com"
+            |}""".stripMargin
+
+          running(app) {
+
+            server.stubFor(
+              get(urlEqualTo("/customs-data-store/eori/verified-email"))
+                .willReturn(ok(emailResponse))
+            )
+            val result = connector.getEmail.futureValue
+            result mustBe Right(Email("some@email.com"))
+          }
+        }
+
+      "return no email address when the request is successful and undeliverable is present in the response" in new Setup {
+        val emailResponse: String =
+          """{
+            |"address": "some@email.com",
+            |"timestamp": "2022-10-10T11:22:22Z",
+            |"undeliverable": {
+            |"subject": "someSubject"
+            |}
+            |}""".stripMargin
+
+        running(app) {
+          server.stubFor(
+            get(urlEqualTo("/customs-data-store/eori/verified-email"))
+              .willReturn(ok(emailResponse))
+          )
+
+          val result = connector.getEmail.futureValue
+          result mustBe Left(UndeliverableEmail("some@email.com"))
+        }
+      }
 
-      running(app) {
-        server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/verified-email"))
-            .willReturn(ok(emailResponse))
-        )
+      "return unverifiedEmail when the request is successful and" +
+        " email address is not present in the response" in new Setup {
+          val emailResponse = """{}"""
 
-        val result = connector.getEmail("GB123456789012").futureValue
-        result mustBe Left(UnverifiedEmail)
-      }
-    }
+          running(app) {
+            server.stubFor(
+              get(urlEqualTo("/customs-data-store/eori/verified-email"))
+                .willReturn(ok(emailResponse))
+            )
 
-    "return no email when a NOT_FOUND response is returned" in new Setup {
+            val result = connector.getEmail.futureValue
+            result mustBe Left(UnverifiedEmail)
+          }
+        }
 
-      running(app) {
+      "return no email when a NOT_FOUND response is returned" in new Setup {
 
-        server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/verified-email"))
-            .willReturn(notFound)
-        )
-        val result = connector.getEmail("GB123456789012").futureValue
-        result mustBe Left(UnverifiedEmail)
+        running(app) {
+
+          server.stubFor(
+            get(urlEqualTo("/customs-data-store/eori/verified-email"))
+              .willReturn(notFound)
+          )
+          val result = connector.getEmail.futureValue
+          result mustBe Left(UnverifiedEmail)
+        }
       }
     }
-  }
 
-  "unverifiedEmail" must {
+    "unverifiedEmail" must {
 
-    "return success response" in new Setup {
+      "return success response" in new Setup {
 
-      running(app) {
-        server.stubFor(
-          get(urlEqualTo("/customs-data-store/subscriptions/unverified-email-display"))
-            .willReturn(ok("""{"unVerifiedEmail": "unverified@email.com"}"""))
-        )
+        running(app) {
+          server.stubFor(
+            get(urlEqualTo("/customs-data-store/subscriptions/unverified-email-display"))
+              .willReturn(ok("""{"unVerifiedEmail": "unverified@email.com"}"""))
+          )
 
-        val result = connector.unverifiedEmail(hc).futureValue
-        result mustBe Some("unverified@email.com")
+          val result = connector.unverifiedEmail(hc).futureValue
+          result mustBe Some("unverified@email.com")
+        }
       }
-    }
 
-    "return failure response of None" in new Setup {
+      "return failure response of None" in new Setup {
 
-      running(app) {
-        server.stubFor(
-          get(urlEqualTo("/customs-data-store/subscriptions/unverified-email-display"))
-            .willReturn(ok("""{}"""))
-        )
+        running(app) {
+          server.stubFor(
+            get(urlEqualTo("/customs-data-store/subscriptions/unverified-email-display"))
+              .willReturn(ok("""{}"""))
+          )
 
-        val result = connector.unverifiedEmail(hc).futureValue
-        result mustBe None
+          val result = connector.unverifiedEmail(hc).futureValue
+          result mustBe None
+        }
       }
     }
-  }
 
-  "verifiedEmail" must {
+    "verifiedEmail" must {
 
-    "return correct email" in new Setup {
+      "return correct email" in new Setup {
 
-      running(app) {
-        server.stubFor(
-          get(urlEqualTo("/customs-data-store/subscriptions/email-display"))
-            .willReturn(ok("""{"verifiedEmail": "test@test.com"}"""))
-        )
+        running(app) {
+          server.stubFor(
+            get(urlEqualTo("/customs-data-store/subscriptions/email-display"))
+              .willReturn(ok("""{"verifiedEmail": "test@test.com"}"""))
+          )
 
-        val result = connector.verifiedEmail(hc).futureValue
-        result mustBe emailVerifiedRes
+          val result = connector.verifiedEmail(hc).futureValue
+          result mustBe emailVerifiedRes
+        }
       }
     }
   }
diff --git a/test/controllers/ManageAuthoritiesControllerSpec.scala b/test/controllers/ManageAuthoritiesControllerSpec.scala
index 94e3e056..86c5b640 100644
--- a/test/controllers/ManageAuthoritiesControllerSpec.scala
+++ b/test/controllers/ManageAuthoritiesControllerSpec.scala
@@ -34,6 +34,7 @@ import utils.DateUtils
 import utils.TestData._
 import viewmodels.{AuthoritiesFilesNotificationViewModel, ManageAuthoritiesViewModel}
 import views.html.{ManageAuthoritiesApiFailureView, ManageAuthoritiesView, NoAccountsView}
+import uk.gov.hmrc.http.HeaderCarrier
 
 import java.time.LocalDate
 import scala.concurrent.Future
@@ -127,9 +128,9 @@ class ManageAuthoritiesControllerSpec extends SpecBase with MockitoSugar with Da
         val mockSecureMessageConnector: SecureMessageConnector                     = mock[SecureMessageConnector]
         val mockSdesConnector: SdesConnector                                       = mock[SdesConnector]
 
-        when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future.successful(Some(XI_EORI)))
-        when(mockDataStoreConnector.getEmail(any)(any)).thenReturn(Future.successful(Right(testEmail)))
-        when(mockDataStoreConnector.getCompanyName(any)(any)).thenReturn(Future.successful(Some(COMPANY_NAME)))
+        when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future.successful(Some(XI_EORI)))
+        when(mockDataStoreConnector.getEmail(any)).thenReturn(Future.successful(Right(testEmail)))
+        when(mockDataStoreConnector.getCompanyName(any)).thenReturn(Future.successful(Some(COMPANY_NAME)))
 
         when(mockAuthCacheService.retrieveAuthoritiesForId(any)).thenReturn(Future.successful(None))
         when(mockAccountsCacheService.retrieveAccountsForId(any)).thenReturn(Future.successful(None))
@@ -197,9 +198,9 @@ class ManageAuthoritiesControllerSpec extends SpecBase with MockitoSugar with Da
           mock[AuthorisedEoriAndCompanyInfoService]
         val mockSdesConnector: SdesConnector                                   = mock[SdesConnector]
 
-        when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future.successful(Some(XI_EORI)))
-        when(mockDataStoreConnector.getEmail(any)(any)).thenReturn(Future.successful(Right(testEmail)))
-        when(mockDataStoreConnector.getCompanyName(any)(any)).thenReturn(Future.successful(Some(COMPANY_NAME)))
+        when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future.successful(Some(XI_EORI)))
+        when(mockDataStoreConnector.getEmail(any)).thenReturn(Future.successful(Right(testEmail)))
+        when(mockDataStoreConnector.getCompanyName(any)).thenReturn(Future.successful(Some(COMPANY_NAME)))
         when(mockAccountsRepository.get(any())).thenReturn(Future.successful(Some(accounts)))
         when(mockAuthRepository.get(any())).thenReturn(Future.successful(Some(authoritiesWithId)))
 
@@ -406,9 +407,10 @@ class ManageAuthoritiesControllerSpec extends SpecBase with MockitoSugar with Da
       when(mockAuthoritiesCacheService.retrieveAuthorities(any(), any())(any()))
         .thenReturn(Future.successful(authoritiesWithId))
 
-      when(mockDataStoreConnector.getEmail(any())(any())).thenReturn(Future.successful(Right(testEmail)))
-      when(mockDataStoreConnector.getXiEori(any())(any())).thenReturn(Future.successful(Some(XI_EORI)))
+      when(mockDataStoreConnector.getEmail(any())).thenReturn(Future.successful(Right(testEmail)))
+      when(mockDataStoreConnector.getXiEori(any())).thenReturn(Future.successful(Some(XI_EORI)))
       when(mockAuthAndCompanyRepo.get(any)).thenReturn(Future.successful(None))
+
       when(mockAuthAndCompanyInfoService.retrieveAuthorisedEoriAndCompanyInfo(any, any)(any))
         .thenReturn(Future.successful(Some(eoriAndCompanyMap)))
 
@@ -429,7 +431,7 @@ class ManageAuthoritiesControllerSpec extends SpecBase with MockitoSugar with Da
         val result  = route(application, request).value
 
         status(result) mustEqual OK
-        verify(mockDataStoreConnector, times(1)).getCompanyName(any())(any())
+        verify(mockDataStoreConnector, times(1)).retrieveCompanyInformationThirdParty(any())(any())
       }
     }
 
@@ -453,11 +455,12 @@ class ManageAuthoritiesControllerSpec extends SpecBase with MockitoSugar with Da
 
       when(mockAuthoritiesCacheService.retrieveAuthorities(any(), any())(any()))
         .thenReturn(Future.successful(authoritiesWithId))
-      when(mockDataStoreConnector.getCompanyName(any)(any)).thenReturn(Future.successful(Some(COMPANY_NAME)))
+
+      when(mockDataStoreConnector.getCompanyName(any)).thenReturn(Future.successful(Some(COMPANY_NAME)))
       when(mockAuthAndCompanyRepo.get(any)).thenReturn(Future.successful(None))
 
-      when(mockDataStoreConnector.getEmail(any())(any())).thenReturn(Future.successful(Right(testEmail)))
-      when(mockDataStoreConnector.getXiEori(any())(any())).thenReturn(Future.successful(Some(XI_EORI)))
+      when(mockDataStoreConnector.getEmail(any())).thenReturn(Future.successful(Right(testEmail)))
+      when(mockDataStoreConnector.getXiEori(any())).thenReturn(Future.successful(Some(XI_EORI)))
 
       private val application: Application = applicationBuilder(userAnswers = Some(emptyUserAnswers))
         .overrides(
@@ -476,7 +479,7 @@ class ManageAuthoritiesControllerSpec extends SpecBase with MockitoSugar with Da
         val result  = route(application, request).value
 
         status(result) mustEqual OK
-        verify(mockDataStoreConnector, times(1)).getCompanyName(any())(any())
+        verify(mockDataStoreConnector, times(1)).retrieveCompanyInformationThirdParty(any())(any())
       }
     }
 
@@ -500,8 +503,8 @@ class ManageAuthoritiesControllerSpec extends SpecBase with MockitoSugar with Da
 
       when(mockAccountsCacheService.retrieveAccounts(any(), any())(any())).thenReturn(Future.successful(accounts))
 
-      when(mockDataStoreConnector.getEmail(any())(any())).thenReturn(Future.successful(Right(testEmail)))
-      when(mockDataStoreConnector.getXiEori(any())(any())).thenReturn(Future.successful(Some(XI_EORI)))
+      when(mockDataStoreConnector.getEmail(any())).thenReturn(Future.successful(Right(testEmail)))
+      when(mockDataStoreConnector.getXiEori(any())).thenReturn(Future.successful(Some(XI_EORI)))
 
       private val application: Application = applicationBuilder(userAnswers = Some(emptyUserAnswers))
         .overrides(
@@ -547,10 +550,12 @@ class ManageAuthoritiesControllerSpec extends SpecBase with MockitoSugar with Da
       when(mockAuthoritiesCacheService.retrieveAuthorities(any(), any())(any()))
         .thenReturn(Future.successful(authoritiesWithId02))
 
-      when(mockDataStoreConnector.getEmail(any())(any())).thenReturn(Future.successful(Right(testEmail)))
-      when(mockDataStoreConnector.getXiEori(any())(any())).thenReturn(Future.successful(Some(XI_EORI)))
-      when(mockDataStoreConnector.getCompanyName(any())(any()))
+      when(mockDataStoreConnector.getEmail(any())).thenReturn(Future.successful(Right(testEmail)))
+      when(mockDataStoreConnector.getXiEori(any())).thenReturn(Future.successful(Some(XI_EORI)))
+
+      when(mockDataStoreConnector.getCompanyName)
         .thenReturn(Future.failed(new RuntimeException("Failed")))
+
       when(mockAuthAndCompanyRepo.get(any)).thenReturn(Future.successful(None))
 
       private val application: Application = applicationBuilder(userAnswers = Some(emptyUserAnswers))
@@ -570,7 +575,7 @@ class ManageAuthoritiesControllerSpec extends SpecBase with MockitoSugar with Da
         val result  = route(application, request).value
 
         status(result) mustEqual OK
-        verify(mockDataStoreConnector, times(2)).getCompanyName(any())(any())
+        verify(mockDataStoreConnector, times(2)).retrieveCompanyInformationThirdParty(any())(any())
       }
     }
 
@@ -596,6 +601,8 @@ class ManageAuthoritiesControllerSpec extends SpecBase with MockitoSugar with Da
   }
 
   trait Setup {
+    implicit val hc: HeaderCarrier = HeaderCarrier()
+
     lazy val manageAuthoritiesRoute: String              = routes.ManageAuthoritiesController.onPageLoad().url
     lazy val manageAuthoritiesUnavailableRoute: String   = routes.ManageAuthoritiesController.unavailable().url
     lazy val manageAuthoritiesGBNValidationRoute: String = routes.ManageAuthoritiesController.validationFailure().url
diff --git a/test/controllers/actions/EmailActionSpec.scala b/test/controllers/actions/EmailActionSpec.scala
index bc019ed8..bf0f6664 100644
--- a/test/controllers/actions/EmailActionSpec.scala
+++ b/test/controllers/actions/EmailActionSpec.scala
@@ -31,6 +31,7 @@ import uk.gov.hmrc.auth.core.AffinityGroup.Organisation
 import uk.gov.hmrc.auth.core.retrieve.{Credentials, Email}
 import uk.gov.hmrc.http.ServiceUnavailableException
 import utils.StringUtils.emptyString
+import uk.gov.hmrc.http.HeaderCarrier
 
 import scala.concurrent.ExecutionContext.Implicits.global
 import scala.concurrent.Future
@@ -41,9 +42,8 @@ class EmailActionSpec extends SpecBase with MockitoSugar with ScalaFutures {
     "allow requests with valida email" in new Setup {
       val action = new Harness()
 
-      when(
-        mockDataStoreConnector.getEmail("GB123456789012")(any())
-      ) thenReturn Future.successful(Right(Email("some@email.com")))
+      when(mockDataStoreConnector.getEmail)
+        .thenReturn(Future.successful(Right(Email("some@email.com"))))
 
       val futureResult = action.filter(identifierRequest())
       whenReady(futureResult) { result =>
@@ -55,7 +55,7 @@ class EmailActionSpec extends SpecBase with MockitoSugar with ScalaFutures {
       val action = new Harness()
 
       when(
-        mockDataStoreConnector.getEmail("GB123456789012")(any())
+        mockDataStoreConnector.getEmail
       ) thenReturn Future.failed(new ServiceUnavailableException(emptyString))
 
       val futureResult = action.filter(identifierRequest())
@@ -68,7 +68,7 @@ class EmailActionSpec extends SpecBase with MockitoSugar with ScalaFutures {
       val action = new Harness()
 
       when(
-        mockDataStoreConnector.getEmail("GB123456789012")(any())
+        mockDataStoreConnector.getEmail
       ) thenReturn Future.successful(Left(UnverifiedEmail))
 
       val futureResult = action.filter(identifierRequest())
@@ -83,7 +83,7 @@ class EmailActionSpec extends SpecBase with MockitoSugar with ScalaFutures {
       val emailId = "test@test.com"
 
       when(
-        mockDataStoreConnector.getEmail("GB123456789012")(any())
+        mockDataStoreConnector.getEmail
       ) thenReturn Future.successful(Left(UndeliverableEmail(emailId)))
 
       val futureResult = action.filter(identifierRequest())
@@ -98,6 +98,8 @@ class EmailActionSpec extends SpecBase with MockitoSugar with ScalaFutures {
     val mockDataStoreConnector: CustomsDataStoreConnector =
       mock[CustomsDataStoreConnector]
 
+    implicit val hc: HeaderCarrier = HeaderCarrier()
+
     def identifierRequest(): IdentifierRequest[AnyContentAsEmpty.type] = IdentifierRequest(
       fakeRequest(),
       InternalId("id"),
@@ -112,6 +114,5 @@ class EmailActionSpec extends SpecBase with MockitoSugar with ScalaFutures {
       def callFilter[A](request: IdentifierRequest[A]): Future[Option[Result]] =
         filter(request)
     }
-
   }
 }
diff --git a/test/controllers/add/AuthorisedUserControllerSpec.scala b/test/controllers/add/AuthorisedUserControllerSpec.scala
index c8b63ff3..9ac5d434 100644
--- a/test/controllers/add/AuthorisedUserControllerSpec.scala
+++ b/test/controllers/add/AuthorisedUserControllerSpec.scala
@@ -126,7 +126,7 @@ class AuthorisedUserControllerSpec extends SpecBase with MockitoSugar {
 
       when(mockValidator.validate(userAnswers)).thenReturn(Some((accounts, standingAuthority, authorisedUser)))
 
-      when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future.successful(Some(xiEori)))
+      when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future.successful(Some(xiEori)))
       when(mockConnector.grantAccountAuthorities(any, any)(any)).thenReturn(Future.successful(true))
 
       running(app) {
@@ -148,7 +148,7 @@ class AuthorisedUserControllerSpec extends SpecBase with MockitoSugar {
 
         when(mockValidator.validate(userAnswers))
           .thenReturn(Some((accountsWithDDCashAndGuarantee, standingAuthority, authorisedUser)))
-        when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future.successful(Some(xiEori)))
+        when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future.successful(Some(xiEori)))
 
         when(mockConnector.grantAccountAuthorities(any, ArgumentMatchers.eq(xiEori))(any))
           .thenReturn(Future.successful(true))
@@ -175,7 +175,7 @@ class AuthorisedUserControllerSpec extends SpecBase with MockitoSugar {
 
         when(mockValidator.validate(userAnswers))
           .thenReturn(Some((accountsWithDDCashAndGuarantee, standingAuthority, authorisedUser)))
-        when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future.successful(Some(xiEori)))
+        when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future.successful(Some(xiEori)))
 
         when(mockConnector.grantAccountAuthorities(any, ArgumentMatchers.eq(xiEori))(any))
           .thenReturn(Future.successful(false))
@@ -204,7 +204,7 @@ class AuthorisedUserControllerSpec extends SpecBase with MockitoSugar {
 
         when(mockValidator.validate(userAnswers))
           .thenReturn(Some((accountsWithDDCashAndGuarantee, standingAuthority, authorisedUser)))
-        when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future.successful(Some(xiEori)))
+        when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future.successful(Some(xiEori)))
 
         when(mockConnector.grantAccountAuthorities(any, ArgumentMatchers.eq(xiEori))(any))
           .thenReturn(Future.successful(true))
@@ -234,7 +234,7 @@ class AuthorisedUserControllerSpec extends SpecBase with MockitoSugar {
 
         when(mockValidator.validate(userAnswers))
           .thenReturn(Some((accountsWithDDCashAndGuarantee, standingAuthority, authorisedUser)))
-        when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future.successful(Some(xiEori)))
+        when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future.successful(Some(xiEori)))
         when(mockConnector.grantAccountAuthorities(any, ArgumentMatchers.eq(gbEori))(any))
           .thenReturn(Future.successful(true))
 
@@ -255,7 +255,7 @@ class AuthorisedUserControllerSpec extends SpecBase with MockitoSugar {
 
       when(mockValidator.validate(userAnswers)).thenReturn(Some((accounts, standingAuthority, authorisedUser)))
 
-      when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future.successful(Some(xiEori)))
+      when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future.successful(Some(xiEori)))
       when(mockConnector.grantAccountAuthorities(any, any)(any)).thenReturn(Future.successful(false))
 
       running(app) {
diff --git a/test/controllers/add/EoriNumberControllerSpec.scala b/test/controllers/add/EoriNumberControllerSpec.scala
index e7084155..c29c79f7 100644
--- a/test/controllers/add/EoriNumberControllerSpec.scala
+++ b/test/controllers/add/EoriNumberControllerSpec.scala
@@ -49,8 +49,7 @@ class EoriNumberControllerSpec extends SpecBase with MockitoSugar {
       running(application) {
 
         val request = fakeRequest(GET, eoriNumberRoute)
-
-        val result = route(application, request).value
+        val result  = route(application, request).value
 
         val view      = application.injector.instanceOf[EoriNumberView]
         val appConfig = application.injector.instanceOf[FrontendAppConfig]
@@ -348,8 +347,9 @@ class EoriNumberControllerSpec extends SpecBase with MockitoSugar {
         val mockSessionRepository: SessionRepository = mock[SessionRepository]
 
         when(mockSessionRepository.set(any())) thenReturn Future.successful(true)
-        when(mockDataStoreConnector.getXiEori(any[String])(any[HeaderCarrier])).thenReturn(Future.successful(None))
-        when(mockDataStoreConnector.getCompanyName(any[String])(any[HeaderCarrier])).thenReturn(Future.successful(None))
+        when(mockDataStoreConnector.getXiEori(any[HeaderCarrier])).thenReturn(Future.successful(None))
+        when(mockDataStoreConnector.retrieveCompanyInformationThirdParty(any())(any()))
+          .thenReturn(Future.successful(None))
 
         val application: Application =
           applicationBuilder(userAnswers = Some(emptyUserAnswers))
@@ -466,7 +466,7 @@ class EoriNumberControllerSpec extends SpecBase with MockitoSugar {
         val mockSessionRepository: SessionRepository = mock[SessionRepository]
 
         when(mockSessionRepository.set(any())) thenReturn Future.successful(true)
-        when(mockDataStoreConnector.getXiEori(any[String])(any[HeaderCarrier]))
+        when(mockDataStoreConnector.getXiEori(any[HeaderCarrier]))
           .thenReturn(Future.successful(Some("XI123456789012")))
 
         val application: Application =
@@ -507,7 +507,8 @@ class EoriNumberControllerSpec extends SpecBase with MockitoSugar {
 
     implicit lazy val hc: HeaderCarrier = HeaderCarrier()
 
-    lazy val eoriNumberRoute: String                 = controllers.add.routes.EoriNumberController.onPageLoad(NormalMode).url
+    lazy val eoriNumberRoute: String = controllers.add.routes.EoriNumberController.onPageLoad(NormalMode).url
+
     lazy val eoriNumberNormalModeSubmitRoute: String =
       controllers.add.routes.EoriNumberController.onSubmit(NormalMode).url
 
diff --git a/test/controllers/edit/EditCheckYourAnswersControllerSpec.scala b/test/controllers/edit/EditCheckYourAnswersControllerSpec.scala
index 2b6f7460..5e72f3d7 100644
--- a/test/controllers/edit/EditCheckYourAnswersControllerSpec.scala
+++ b/test/controllers/edit/EditCheckYourAnswersControllerSpec.scala
@@ -29,7 +29,7 @@ import models.domain.{
 }
 import models.requests.{Accounts, AddAuthorityRequest}
 import models.{AuthorityEnd, AuthorityStart, ShowBalance, UnknownAccountType, UserAnswers, domain, withNameToString}
-import org.mockito.ArgumentMatchers.{any, anyString}
+import org.mockito.ArgumentMatchers.any
 import org.mockito.Mockito.{verify, when}
 import org.mockito.{ArgumentMatchers, Mockito}
 import org.scalatestplus.mockito.MockitoSugar
@@ -62,7 +62,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
         .configure(Map("features.edit-journey" -> true))
         .build()
 
-      when(mockDataStoreConnector.getCompanyName(anyString())(any()))
+      when(mockDataStoreConnector.retrieveCompanyInformationThirdParty(any())(any()))
         .thenReturn(Future.successful(Some("This business has not consented to their name being shared.")))
 
       when(mockAuthoritiesRepo.get(any())).thenReturn(Future.successful(Some(authoritiesWithId)))
@@ -123,7 +123,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
           .configure(Map("features.edit-journey" -> true))
           .build()
 
-        when(mockDataStoreConnector.getCompanyName(anyString())(any()))
+        when(mockDataStoreConnector.getCompanyName(any()))
           .thenReturn(Future.successful(Some("This business has not consented to their name being shared.")))
 
         when(mockAuthoritiesRepo.get(any()))
@@ -160,7 +160,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
           .configure(Map("features.edit-journey" -> true))
           .build()
 
-        when(mockDataStoreConnector.getCompanyName(anyString())(any()))
+        when(mockDataStoreConnector.getCompanyName(any()))
           .thenReturn(Future.successful(Some("This business has not consented to their name being shared.")))
 
         val optAccountWithAuthoritiesWithId: Option[AccountWithAuthoritiesWithId] =
@@ -204,7 +204,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
         .configure(Map("features.edit-journey" -> true))
         .build()
 
-      when(mockDataStoreConnector.getCompanyName(anyString())(any()))
+      when(mockDataStoreConnector.getCompanyName(any()))
         .thenReturn(Future.successful(Some("This business has not consented to their name being shared.")))
 
       when(mockAuthoritiesRepo.get(any())).thenReturn(Future.successful(Some(authoritiesWithId)))
@@ -217,7 +217,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
       when(mockAuthCacheService.getAccountAndAuthority(any(), any(), any())(any()))
         .thenReturn(Future.successful(Right(AccountAndAuthority(accountsWithAuthoritiesWithId, standingAuthority))))
 
-      when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future.successful(Some("XI123456789012")))
+      when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future.successful(Some("XI123456789012")))
 
       val accounts: Accounts = Accounts(
         Some(AccountWithAuthorities(CdsCashAccount, "12345", Some(AccountStatusOpen), Seq.empty)),
@@ -256,7 +256,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
           .configure(Map("features.edit-journey" -> true))
           .build()
 
-        when(mockDataStoreConnector.getCompanyName(anyString())(any()))
+        when(mockDataStoreConnector.getCompanyName(any()))
           .thenReturn(Future.successful(Some("This business has not consented to their name being shared.")))
 
         when(mockAuthoritiesRepo.get(any())).thenReturn(Future.successful(Some(authoritiesWithId)))
@@ -271,7 +271,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
             Future.successful(Right(AccountAndAuthority(accountsWithAuthoritiesWithId, standingAuthorityForXI)))
           )
 
-        when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future.successful(Some("XI123456789012")))
+        when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future.successful(Some("XI123456789012")))
 
         val accounts: Accounts = Accounts(
           Some(AccountWithAuthorities(CdsCashAccount, "12345", Some(AccountStatusOpen), Seq.empty)),
@@ -315,7 +315,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
           .configure(Map("features.edit-journey" -> true))
           .build()
 
-        when(mockDataStoreConnector.getCompanyName(anyString())(any()))
+        when(mockDataStoreConnector.getCompanyName(any()))
           .thenReturn(Future.successful(Some("This business has not consented to their name being shared.")))
 
         when(mockAuthoritiesRepo.get(any())).thenReturn(Future.successful(Some(authoritiesWithId)))
@@ -330,7 +330,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
             Future.successful(Right(AccountAndAuthority(accountsWithAuthoritiesWithId, standingAuthorityForXI)))
           )
 
-        when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future.successful(Some("XI123456789012")))
+        when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future.successful(Some("XI123456789012")))
 
         val accounts: Accounts = Accounts(
           Some(AccountWithAuthorities(CdsCashAccount, "12345", Some(AccountStatusOpen), Seq.empty)),
@@ -375,7 +375,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
           .configure(Map("features.edit-journey" -> true))
           .build()
 
-        when(mockDataStoreConnector.getCompanyName(anyString())(any()))
+        when(mockDataStoreConnector.getCompanyName(any()))
           .thenReturn(Future.successful(Some("This business has not consented to their name being shared.")))
 
         when(mockAuthoritiesRepo.get(any())).thenReturn(Future.successful(Some(authoritiesWithId)))
@@ -390,7 +390,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
             Future.successful(Right(AccountAndAuthority(accountsWithAuthoritiesWithId, standingAuthorityForXI)))
           )
 
-        when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future.successful(Some("XI123456789012")))
+        when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future.successful(Some("XI123456789012")))
 
         val accounts: Accounts = Accounts(
           Some(AccountWithAuthorities(CdsCashAccount, "12345", Some(AccountStatusOpen), Seq.empty)),
@@ -435,7 +435,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
           .configure(Map("features.edit-journey" -> true))
           .build()
 
-        when(mockDataStoreConnector.getCompanyName(anyString())(any()))
+        when(mockDataStoreConnector.getCompanyName(any()))
           .thenReturn(Future.successful(Some("This business has not consented to their name being shared.")))
 
         when(mockAuthoritiesRepo.get(any())).thenReturn(Future.successful(Some(authoritiesWithId)))
@@ -448,7 +448,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
         when(mockAuthCacheService.getAccountAndAuthority(any(), any(), any())(any()))
           .thenReturn(Future.successful(Right(AccountAndAuthority(accountsWithAuthoritiesWithId, standingAuthority))))
 
-        when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future.successful(Some("XI123456789012")))
+        when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future.successful(Some("XI123456789012")))
 
         val accounts: Accounts = Accounts(
           Some(AccountWithAuthorities(CdsCashAccount, "12345", Some(AccountStatusOpen), Seq.empty)),
@@ -495,7 +495,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
           None
         )
 
-        when(mockDataStoreConnector.getCompanyName(anyString())(any()))
+        when(mockDataStoreConnector.getCompanyName(any()))
           .thenReturn(Future.successful(Some("This business has not consented to their name being shared.")))
 
         when(mockAuthoritiesRepo.get(any())).thenReturn(Future.successful(Some(authoritiesWithId)))
@@ -512,7 +512,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
             )
           )
 
-        when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future.successful(Some("XI123456789012")))
+        when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future.successful(Some("XI123456789012")))
 
         when(mockEditAuthorityValidationService.validate(any, any, any, any, any)).thenReturn(
           Right(
@@ -545,7 +545,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
           .configure(Map("features.edit-journey" -> true))
           .build()
 
-        when(mockDataStoreConnector.getCompanyName(anyString())(any()))
+        when(mockDataStoreConnector.getCompanyName(any()))
           .thenReturn(Future.successful(Some("This business has not consented to their name being shared.")))
 
         when(mockAuthoritiesRepo.get(any())).thenReturn(Future.successful(Some(authoritiesWithId)))
@@ -558,7 +558,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
         when(mockAuthCacheService.getAccountAndAuthority(any(), any(), any())(any()))
           .thenReturn(Future.successful(Right(AccountAndAuthority(accountsWithAuthoritiesWithId, standingAuthority))))
 
-        when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future.successful(Some("XI123456789012")))
+        when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future.successful(Some("XI123456789012")))
 
         val accounts: Accounts = Accounts(
           Some(AccountWithAuthorities(CdsCashAccount, "12345", Some(AccountStatusOpen), Seq.empty)),
@@ -597,7 +597,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
           .configure(Map("features.edit-journey" -> true))
           .build()
 
-        when(mockDataStoreConnector.getCompanyName(anyString())(any()))
+        when(mockDataStoreConnector.getCompanyName(any()))
           .thenReturn(Future.successful(Some("This business has not consented to their name being shared.")))
 
         when(mockAuthoritiesRepo.get(any())).thenReturn(Future.successful(Some(authoritiesWithId)))
@@ -610,7 +610,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
         when(mockAuthCacheService.getAccountAndAuthority(any(), any(), any())(any()))
           .thenReturn(Future.successful(Right(AccountAndAuthority(accountsWithAuthoritiesWithId, standingAuthority))))
 
-        when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future.successful(Some("XI123456789012")))
+        when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future.successful(Some("XI123456789012")))
         when(mockEditAuthorityValidationService.validate(any, any, any, any, any)).thenReturn(Left(UnknownAccountType))
 
         running(application) {
@@ -636,7 +636,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
           .configure(Map("features.edit-journey" -> true))
           .build()
 
-        when(mockDataStoreConnector.getCompanyName(anyString())(any()))
+        when(mockDataStoreConnector.getCompanyName(any()))
           .thenReturn(Future.successful(Some("This business has not consented to their name being shared.")))
 
         val optAccountWithAuthoritiesWithId: Option[AccountWithAuthoritiesWithId] =
@@ -679,7 +679,7 @@ class EditCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
           .configure(Map("features.edit-journey" -> true))
           .build()
 
-        when(mockDataStoreConnector.getCompanyName(anyString())(any()))
+        when(mockDataStoreConnector.getCompanyName(any()))
           .thenReturn(Future.successful(Some("This business has not consented to their name being shared.")))
 
         when(mockAuthoritiesRepo.get(any()))
diff --git a/test/controllers/remove/RemoveCheckYourAnswersControllerSpec.scala b/test/controllers/remove/RemoveCheckYourAnswersControllerSpec.scala
index 375642ea..7ed99b3a 100644
--- a/test/controllers/remove/RemoveCheckYourAnswersControllerSpec.scala
+++ b/test/controllers/remove/RemoveCheckYourAnswersControllerSpec.scala
@@ -20,7 +20,7 @@ import base.SpecBase
 import connectors.{CustomsDataStoreConnector, CustomsFinancialsConnector}
 import models.UserAnswers
 import models.domain._
-import org.mockito.ArgumentMatchers.{any, anyString}
+import org.mockito.ArgumentMatchers.any
 import org.mockito.Mockito.{verify, when}
 import org.mockito.{ArgumentMatchers, Mockito}
 import org.scalatestplus.mockito.MockitoSugar
@@ -90,8 +90,7 @@ class RemoveCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
 
       val app: Application = applicationWithUserAnswersAndEori(userAnswers)
 
-      when(mockDataStoreConnector.getCompanyName(anyString())(any()))
-        .thenReturn(Future.successful(Some("Tony Stark")))
+      when(mockDataStoreConnector.getCompanyName(any())).thenReturn(Future.successful(Some("Tony Stark")))
 
       when(mockAuthoritiesCacheService.getAccountAndAuthority(any(), any(), any())(any()))
         .thenReturn(Future.successful(Right(AccountAndAuthority(accountsWithAuthoritiesWithId, standingAuthority))))
@@ -206,7 +205,7 @@ class RemoveCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
         when(mockCustomsFinancialsConnector.revokeAccountAuthorities(any(), ArgumentMatchers.eq(gbEori))(any()))
           .thenReturn(Future.successful(true))
 
-        when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future(Option(xiEori)))
+        when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future(Option(xiEori)))
 
         running(app) {
           val result = route(app, postRequest).value
@@ -241,7 +240,7 @@ class RemoveCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
         when(mockCustomsFinancialsConnector.revokeAccountAuthorities(any(), ArgumentMatchers.eq(gbEori))(any()))
           .thenReturn(Future.successful(true))
 
-        when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future(Option(xiEori)))
+        when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future(Option(xiEori)))
 
         running(app) {
           val result = route(app, postRequest).value
@@ -277,7 +276,7 @@ class RemoveCheckYourAnswersControllerSpec extends SpecBase with MockitoSugar {
         when(mockCustomsFinancialsConnector.revokeAccountAuthorities(any(), ArgumentMatchers.eq(xiEori))(any()))
           .thenReturn(Future.successful(true))
 
-        when(mockDataStoreConnector.getXiEori(any)(any)).thenReturn(Future(Option(xiEori)))
+        when(mockDataStoreConnector.getXiEori(any)).thenReturn(Future(Option(xiEori)))
 
         running(app) {
           val result = route(app, postRequest).value
diff --git a/test/models/requests/EoriRequestSpec.scala b/test/models/requests/EoriRequestSpec.scala
new file mode 100644
index 00000000..51f10c6e
--- /dev/null
+++ b/test/models/requests/EoriRequestSpec.scala
@@ -0,0 +1,38 @@
+/*
+ * Copyright 2024 HM Revenue & Customs
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package models.requests
+
+import base.SpecBase
+import play.api.libs.json.{JsSuccess, Json}
+
+class EoriRequestSpec extends SpecBase {
+  "EoriRequest" should {
+    "return correct value for Json Reads" in new Setup {
+      import models.requests.EoriRequest.format
+      Json.fromJson(Json.parse(eoriRequestJsString)) mustBe JsSuccess(request)
+    }
+
+    "return correct value for Json Writes" in new Setup {
+      Json.toJson(request) mustBe Json.parse(eoriRequestJsString)
+    }
+  }
+
+  trait Setup {
+    val request: EoriRequest = EoriRequest("someEori")
+    val eoriRequestJsString  = """{"eori":"someEori"}"""
+  }
+}
diff --git a/test/services/AuthorisedEoriAndCompanyInfoServiceSpec.scala b/test/services/AuthorisedEoriAndCompanyInfoServiceSpec.scala
index 05696a34..653e6bed 100644
--- a/test/services/AuthorisedEoriAndCompanyInfoServiceSpec.scala
+++ b/test/services/AuthorisedEoriAndCompanyInfoServiceSpec.scala
@@ -55,7 +55,7 @@ class AuthorisedEoriAndCompanyInfoServiceSpec extends SpecBase {
 
         when(mockRepo.get(id.value)).thenReturn(Future.successful(None))
         when(mockRepo.set(id.value, mapData)).thenReturn(Future.successful(true))
-        when(mockDataStoreConnector.getCompanyName(any)(any)).thenReturn(Future.successful(Some(COMPANY_NAME)))
+        when(mockDataStoreConnector.getCompanyName(any)).thenReturn(Future.successful(Some(COMPANY_NAME)))
 
         service.retrieveAuthorisedEoriAndCompanyInfo(id, eoris).map { result =>
           result mustEqual mapData
diff --git a/test/services/EditSessionServiceSpec.scala b/test/services/EditSessionServiceSpec.scala
index 79659e2f..c238292f 100644
--- a/test/services/EditSessionServiceSpec.scala
+++ b/test/services/EditSessionServiceSpec.scala
@@ -21,7 +21,6 @@ import connectors.CustomsDataStoreConnector
 import models.{AuthorityEnd, AuthorityStart}
 import models.domain.{AccountStatusOpen, AccountWithAuthoritiesWithId, CdsCashAccount, StandingAuthority}
 import org.mockito.ArgumentMatchers.any
-import org.mockito.ArgumentMatchers.anyString
 import org.mockito.Mockito.when
 import org.scalatestplus.mockito.MockitoSugar
 import pages.edit._
@@ -121,13 +120,10 @@ class EditSessionServiceSpec extends SpecBase with MockitoSugar {
 
     val mockDataStoreConnector: CustomsDataStoreConnector = mock[CustomsDataStoreConnector]
 
-    when(mockDataStoreConnector.getCompanyName(anyString())(any()))
-      .thenReturn(Future.successful(None))
-
+    when(mockDataStoreConnector.retrieveCompanyInformationThirdParty(any())(any())).thenReturn(Future.successful(None))
     when(mockSessionRepository.set(any())).thenReturn(Future.successful(true))
     when(mockDateTimeService.localDate()).thenReturn(LocalDate.now())
 
     val service: EditSessionService = app.injector.instanceOf[EditSessionService]
   }
-
 }
diff --git a/test/views/remove/RemoveCheckYourAnswersViewSpec.scala b/test/views/remove/RemoveCheckYourAnswersViewSpec.scala
index a5981812..fb3a1532 100644
--- a/test/views/remove/RemoveCheckYourAnswersViewSpec.scala
+++ b/test/views/remove/RemoveCheckYourAnswersViewSpec.scala
@@ -222,7 +222,10 @@ class RemoveCheckYourAnswersViewSpec extends SpecBase with MockitoSugar {
 
     val view: RemoveCheckYourAnswersView = app.injector.instanceOf[RemoveCheckYourAnswersView]
 
-    when(mockDataStoreConnector.getCompanyName(any[String])(any[HeaderCarrier]))
+    when(mockDataStoreConnector.getCompanyName(any[HeaderCarrier]))
+      .thenReturn(Future.successful(Some(companyName)))
+
+    when(mockDataStoreConnector.retrieveCompanyInformationThirdParty(any())(any()))
       .thenReturn(Future.successful(Some(companyName)))
 
     val helper = new CheckYourAnswersRemoveHelper(


Reviews:
user: login: tyagikumarvineet
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-04T13:25:41Z
user: login: magicaljellybeans
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-04T14:01:16Z
user: login: magicaljellybeans
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-04T14:01:44Z
user: login: magicaljellybeans
body: Couple of comments about tests we don't need.
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-04T14:04:59Z
user: login: magicaljellybeans
body: LGTM!
state: DISMISSED
author_association: CONTRIBUTOR
submitted_at: 2025-03-05T13:24:25Z
user: login: tyagikumarvineet
state: COMMENTED
author_association: CONTRIBUTOR
submitted_at: 2025-03-06T02:16:34Z
user: login: tyagikumarvineet
body: We need to remove the method getCompanyName and its references in the tests as it is not being used anymore but it can be done as part of separate ticket.
state: APPROVED
author_association: CONTRIBUTOR
submitted_at: 2025-03-06T13:14:11Z

Review comments:
path: app/connectors/CustomsDataStoreConnector.scala
user: login: tyagikumarvineet
body: Please replace endpoints’ url in CustomsDataStoreConnector as below (we do not need to create new methods (apart from a third party one for company info), but need to replace old endpoints with new ones in the existing method. We only need a new method for third party company info cause we need to use that where the eori is not retrieved from the request) and make use of it wherever is applicable

```
1. Method name   - getCompanyName
      Existing - val endpoint = s"$baseDataStoreUrl/eori/$eori/company-information"
      To be -     val endpoint = s"$baseDataStoreUrl/eori/company-information"

2 Method name   - getXiEori
   Existing -   val endpoint                 = s"$baseDataStoreUrl/eori/$eori/xieori-information"
   To be-       val endpoint                 = s"$baseDataStoreUrl/eori/xieori-information"

3. Method name - getEmail
      Existing - val endpoint = s"$baseDataStoreUrl/eori/$eori/verified-email"
      To be -   val endpoint = s"$baseDataStoreUrl/eori/verified-email"
```

We have to use third party company information endpoint at few places (where eori is not retrieved from the request), so please create a method named 
def retrieveCompanyInformationThirdParty, it will send a post request to below url.

Url - `/eori/company-information-third-party`

To create a request body, you 
should create a `EoriRequest` class and the eori value would be passed as part of body. 

The implementation of retrieveCompanyInformationThirdParty would be same as of getCompanyName
But with POST Http method


```
case class EoriRequest(eori: String)

object EoriRequest {
  implicit val format: OFormat[EoriRequest] = Json.format[EoriRequest]
}
```
created_at: 2025-03-04T13:20:52Z
author_association: CONTRIBUTOR
diff_hunk: @@ -271,29 +477,82 @@ class CustomsDataStoreConnectorSpec
       }
     }
 
-    "return unverifiedEmail when the request is successful and email address is not present in the response" in new Setup {
-      val emailResponse = """{}"""
+    "return no email address for v2 when the request is successful and undeliverable" +
+      "is present in the response" in new Setup {
+
+        val emailResponse: String =
+          """{
+          |"address": "some@email.com",
+          |"timestamp": "2022-10-10T11:22:22Z",
+          |"undeliverable": {
+          |"subject": "someSubject"
+          |}
+          |}""".stripMargin
+
+        running(app) {
+          server.stubFor(
+            get(urlEqualTo("/customs-data-store/eori/verified-email"))
+              .willReturn(ok(emailResponse))
+          )
+
+          val result = connector.getEmailV2.futureValue
+          result mustBe Left(UndeliverableEmail("some@email.com"))
+        }
+      }
+
+    "return unverifiedEmail when the request is successful and" +
+      " email address is not present in the response" in new Setup {
+        val emailResponse = """{}"""
+
+        running(app) {
+          server.stubFor(
+            get(urlEqualTo("/customs-data-store/eori/GB123456789012/verified-email"))
+              .willReturn(ok(emailResponse))
+          )
+
+          val result = connector.getEmail("GB123456789012").futureValue
+          result mustBe Left(UnverifiedEmail)
+        }
+      }
+
+    "return unverifiedEmail third party when the request is successful and" +
+      " email address is not present in the response" in new Setup {
+
+        val emailResponse = """{}"""
+
+        running(app) {
+          server.stubFor(
+            get(urlEqualTo("/customs-data-store/eori/verified-email"))
+              .willReturn(ok(emailResponse))
+          )
+
+          val result = connector.getEmailV2.futureValue
+          result mustBe Left(UnverifiedEmail)
+        }
+      }
path: test/connectors/CustomsDataStoreConnectorSpec.scala
user: login: magicaljellybeans
body: Test not needed for third party email verification
created_at: 2025-03-04T14:01:16Z
author_association: CONTRIBUTOR
diff_hunk: @@ -271,29 +477,82 @@ class CustomsDataStoreConnectorSpec
       }
     }
 
-    "return unverifiedEmail when the request is successful and email address is not present in the response" in new Setup {
-      val emailResponse = """{}"""
+    "return no email address for v2 when the request is successful and undeliverable" +
+      "is present in the response" in new Setup {
+
+        val emailResponse: String =
+          """{
+          |"address": "some@email.com",
+          |"timestamp": "2022-10-10T11:22:22Z",
+          |"undeliverable": {
+          |"subject": "someSubject"
+          |}
+          |}""".stripMargin
+
+        running(app) {
+          server.stubFor(
+            get(urlEqualTo("/customs-data-store/eori/verified-email"))
+              .willReturn(ok(emailResponse))
+          )
+
+          val result = connector.getEmailV2.futureValue
+          result mustBe Left(UndeliverableEmail("some@email.com"))
+        }
+      }
+
+    "return unverifiedEmail when the request is successful and" +
+      " email address is not present in the response" in new Setup {
+        val emailResponse = """{}"""
+
+        running(app) {
+          server.stubFor(
+            get(urlEqualTo("/customs-data-store/eori/GB123456789012/verified-email"))
+              .willReturn(ok(emailResponse))
+          )
+
+          val result = connector.getEmail("GB123456789012").futureValue
+          result mustBe Left(UnverifiedEmail)
+        }
+      }
+
+    "return unverifiedEmail third party when the request is successful and" +
+      " email address is not present in the response" in new Setup {
+
+        val emailResponse = """{}"""
+
+        running(app) {
+          server.stubFor(
+            get(urlEqualTo("/customs-data-store/eori/verified-email"))
+              .willReturn(ok(emailResponse))
+          )
+
+          val result = connector.getEmailV2.futureValue
+          result mustBe Left(UnverifiedEmail)
+        }
+      }
+
+    "return no email when a NOT_FOUND response is returned" in new Setup {
 
       running(app) {
+
         server.stubFor(
           get(urlEqualTo("/customs-data-store/eori/GB123456789012/verified-email"))
-            .willReturn(ok(emailResponse))
+            .willReturn(notFound)
         )
-
         val result = connector.getEmail("GB123456789012").futureValue
         result mustBe Left(UnverifiedEmail)
       }
     }
 
-    "return no email when a NOT_FOUND response is returned" in new Setup {
+    "return no third party email when a NOT_FOUND response is returned" in new Setup {
path: test/connectors/CustomsDataStoreConnectorSpec.scala
user: login: magicaljellybeans
body: Same comment as above, test not needed for third party
created_at: 2025-03-04T14:01:44Z
author_association: CONTRIBUTOR
diff_hunk: @@ -55,8 +53,28 @@ class CustomsDataStoreConnector @Inject() (appConfig: FrontendAppConfig, httpCli
       }
   }
 
-  def getXiEori(eori: String)(implicit hc: HeaderCarrier): Future[Option[String]] = {
-    val endpoint                 = s"$baseDataStoreUrl/eori/$eori/xieori-information"
+  def retrieveCompanyInformationThirdParty(eori: String)(implicit hc: HeaderCarrier): Future[Option[String]] = {
+    val endpoint             = s"$baseDataStoreUrl/eori/company-information-third-party"
+    val request: EoriRequest = EoriRequest(eori)
+
+    httpClient
+      .post(url"$endpoint")
+      .withBody(request)
+      .execute[CompanyInformation]
+      .map { response =>
+        response.consent match {
+          case "1" => Some(response.name)
+          case _   => None
+        }
+      }
+      .recover { case e =>
+        log.error(s"Call to data stored failed for getCompanyName exception=$e")
path: app/connectors/CustomsDataStoreConnector.scala
user: login: tyagikumarvineet
body: getCompanyName should be replaced with retrieveCompanyInformationThirdParty
created_at: 2025-03-06T01:23:50Z
author_association: CONTRIBUTOR
diff_hunk: @@ -122,7 +122,7 @@ class EoriNumberController @Inject() (
     eori: String
   ): Future[Result] =
     (for {
-      companyName                         <- dataStore.getCompanyName(eori)(hc)
+      companyName                         <- dataStore.getCompanyName(hc)
path: app/controllers/add/EoriNumberController.scala
user: login: tyagikumarvineet
body: Please use retrieveCompanyInformationThirdParty method (of CustomsDataStoreConnector) to get the company name instead of dataStore.getCompanyName. Update the test accordingly.
created_at: 2025-03-06T01:34:11Z
author_association: CONTRIBUTOR
diff_hunk: @@ -65,7 +65,7 @@ class EditCheckYourAnswersController @Inject() (
       case Left(NoAuthority)                              => errorPage(MissingAuthorityError)
       case Left(NoAccount)                                => errorPage(MissingAccountError)
       case Right(AccountAndAuthority(account, authority)) =>
-        val companyName = Await.result(dataStore.getCompanyName(authority.authorisedEori), Duration.Inf)
+        val companyName = Await.result(dataStore.getCompanyName, Duration.Inf)
path: app/controllers/edit/EditCheckYourAnswersController.scala
user: login: tyagikumarvineet
body: Please use retrieveCompanyInformationThirdParty method (of CustomsDataStoreConnector) to get the company name instead of dataStore.getCompanyName. Update the test accordingly.
created_at: 2025-03-06T01:35:17Z
author_association: CONTRIBUTOR
diff_hunk: @@ -66,7 +66,7 @@ class EditConfirmationController @Inject() (
         account                 <- fromOption[Future](accountsWithAuthorities.authorities.get(accountId))
         authority               <- fromOption[Future](account.authorities.get(authorityId))
         eori                    <- fromOption[Future](Some(authority.authorisedEori))
-        companyName             <- OptionT.liftF(dataStore.getCompanyName(authority.authorisedEori))
+        companyName             <- OptionT.liftF(dataStore.getCompanyName)
path: app/controllers/edit/EditConfirmationController.scala
user: login: tyagikumarvineet
body: Please use retrieveCompanyInformationThirdParty method (of CustomsDataStoreConnector) to get the company name instead of dataStore.getCompanyName. Update the test accordingly.
created_at: 2025-03-06T01:36:29Z
author_association: CONTRIBUTOR
diff_hunk: @@ -55,7 +55,7 @@ class RemoveConfirmationController @Inject() (
         ids         <- OptionT.liftF(service.retrieveAuthorities(request.internalId))
         account     <- OptionT.fromOption[Future](ids.authorities.get(accountId))
         authority   <- OptionT.fromOption[Future](account.authorities.get(authorityId))
-        companyName <- OptionT.liftF(dataStore.getCompanyName(authority.authorisedEori))
+        companyName <- OptionT.liftF(dataStore.getCompanyName)
path: app/controllers/remove/RemoveConfirmationController.scala
user: login: tyagikumarvineet
body: Please use retrieveCompanyInformationThirdParty method (of CustomsDataStoreConnector) to get the company name instead of dataStore.getCompanyName. Update the test accordingly.
created_at: 2025-03-06T01:37:09Z
author_association: CONTRIBUTOR
diff_hunk: @@ -43,7 +43,7 @@ class EditSessionService @Inject() (sessionRepository: SessionRepository, dateTi
   )(implicit messages: Messages, hc: HeaderCarrier): Future[CheckYourAnswersEditHelper] = {
 
     val newUserAnswers = UserAnswers(userAnswers.id)
-    val companyName    = Await.result(dataStore.getCompanyName(authority.authorisedEori), Duration.Inf)
+    val companyName    = Await.result(dataStore.getCompanyName, Duration.Inf)
path: app/services/EditSessionService.scala
user: login: tyagikumarvineet
body: Please use retrieveCompanyInformationThirdParty method (of CustomsDataStoreConnector) to get the company name instead of dataStore.getCompanyName. Update the test accordingly.
created_at: 2025-03-06T01:38:02Z
author_association: CONTRIBUTOR
diff_hunk: @@ -41,7 +41,7 @@ class CheckYourAnswersRemoveHelper(
     extends SummaryListRowHelper {
 
   val companyName: Option[String] =
-    Await.result(dataStore.getCompanyName(standingAuthority.authorisedEori), Duration.Inf)
+    Await.result(dataStore.getCompanyName, Duration.Inf)
path: app/viewmodels/CheckYourAnswersRemoveHelper.scala
user: login: tyagikumarvineet
body: Please use retrieveCompanyInformationThirdParty method (of CustomsDataStoreConnector) to get the company name instead of dataStore.getCompanyName. Update the test accordingly.
created_at: 2025-03-06T01:38:15Z
author_association: CONTRIBUTOR
diff_hunk: @@ -115,231 +115,316 @@ class CustomsDataStoreConnectorSpec
 
       running(app) {
         server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/company-information"))
+          post(urlEqualTo("/customs-data-store/eori/company-information-third-party"))
             .willReturn(ok(response))
         )
 
-        val result = connector.getCompanyName("GB123456789012").futureValue
+        val result = connector.retrieveCompanyInformationThirdParty("GB123456789012").futureValue
         result mustBe expected
       }
     }
   }
 
-  ".get XiEori" must {
-    "return xi eori when it is returned from data store" in new Setup {
+  ".getCompanyName" must {
+    "return companyName when consent is defined as 1(True)" in new Setup {
       val response: String =
         """
           |{
-          |   "xiEori":"XI1234567",
+          |   "name":"Tony Stark",
           |   "consent":"1",
           |   "address":{
-          |      "pbeAddressLine1":"86 street",
-          |      "pbeAddressLine2":"London",
-          |      "pbeAddressLine3":"GB"
+          |      "streetAndNumber":"86 Mysore Road",
+          |      "city":"London",
+          |      "postalCode":"SW11 5RZ",
+          |      "countryCode":"GB"
           |   }
           |}
           |""".stripMargin
 
-      val expectedResult: Option[String] = Some("XI1234567")
+      val expectedResult: Option[String] = Some("Tony Stark")
 
       running(app) {
-
         server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/xieori-information"))
+          get(urlEqualTo("/customs-data-store/eori/company-information"))
             .willReturn(ok(response))
         )
 
-        val result = connector.getXiEori("GB123456789012").futureValue
+        val result = connector.getCompanyName.futureValue
         result mustBe expectedResult
       }
     }
 
-    "return None when empty XI EORI value is returned from data store" in new Setup {
+    "return None when consent is defined as 0(False) for company info" in new Setup {
       val response: String =
         """
           |{
-          |   "xiEori":"",
-          |   "consent":"1",
+          |   "name":"Tony Stark",
+          |   "consent":"0",
           |   "address":{
-          |      "pbeAddressLine1":"86 street",
-          |      "pbeAddressLine2":"London",
-          |      "pbeAddressLine3":"GB"
+          |      "streetAndNumber":"86 Mysore Road",
+          |      "city":"London",
+          |      "postalCode":"SW11 5RZ",
+          |      "countryCode":"GB"
           |   }
           |}
           |""".stripMargin
 
       running(app) {
-
         server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/xieori-information"))
+          get(urlEqualTo("/customs-data-store/eori/GB123456789012/company-information"))
path: test/connectors/CustomsDataStoreConnectorSpec.scala
user: login: tyagikumarvineet
body: Replace `"/customs-data-store/eori/GB123456789012/company-information"` with `"/customs-data-store/eori/company-information"`
created_at: 2025-03-06T01:49:37Z
author_association: CONTRIBUTOR
diff_hunk: @@ -115,231 +115,316 @@ class CustomsDataStoreConnectorSpec
 
       running(app) {
         server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/company-information"))
+          post(urlEqualTo("/customs-data-store/eori/company-information-third-party"))
             .willReturn(ok(response))
         )
 
-        val result = connector.getCompanyName("GB123456789012").futureValue
+        val result = connector.retrieveCompanyInformationThirdParty("GB123456789012").futureValue
         result mustBe expected
       }
     }
   }
 
-  ".get XiEori" must {
-    "return xi eori when it is returned from data store" in new Setup {
+  ".getCompanyName" must {
+    "return companyName when consent is defined as 1(True)" in new Setup {
       val response: String =
         """
           |{
-          |   "xiEori":"XI1234567",
+          |   "name":"Tony Stark",
           |   "consent":"1",
           |   "address":{
-          |      "pbeAddressLine1":"86 street",
-          |      "pbeAddressLine2":"London",
-          |      "pbeAddressLine3":"GB"
+          |      "streetAndNumber":"86 Mysore Road",
+          |      "city":"London",
+          |      "postalCode":"SW11 5RZ",
+          |      "countryCode":"GB"
           |   }
           |}
           |""".stripMargin
 
-      val expectedResult: Option[String] = Some("XI1234567")
+      val expectedResult: Option[String] = Some("Tony Stark")
 
       running(app) {
-
         server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/xieori-information"))
+          get(urlEqualTo("/customs-data-store/eori/company-information"))
             .willReturn(ok(response))
         )
 
-        val result = connector.getXiEori("GB123456789012").futureValue
+        val result = connector.getCompanyName.futureValue
         result mustBe expectedResult
       }
     }
 
-    "return None when empty XI EORI value is returned from data store" in new Setup {
+    "return None when consent is defined as 0(False) for company info" in new Setup {
       val response: String =
         """
           |{
-          |   "xiEori":"",
-          |   "consent":"1",
+          |   "name":"Tony Stark",
+          |   "consent":"0",
           |   "address":{
-          |      "pbeAddressLine1":"86 street",
-          |      "pbeAddressLine2":"London",
-          |      "pbeAddressLine3":"GB"
+          |      "streetAndNumber":"86 Mysore Road",
+          |      "city":"London",
+          |      "postalCode":"SW11 5RZ",
+          |      "countryCode":"GB"
           |   }
           |}
           |""".stripMargin
 
       running(app) {
-
         server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/xieori-information"))
+          get(urlEqualTo("/customs-data-store/eori/GB123456789012/company-information"))
             .willReturn(ok(response))
         )
-        val result = connector.getXiEori("GB123456789012").futureValue
-        result mustBe expected
-      }
-    }
 
-    "return None when error response is returned" in new Setup {
-
-      running(app) {
-
-        server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/xieori-information"))
-            .willReturn(serverError())
-        )
-        val result = connector.getXiEori("GB123456789012").futureValue
+        val result = connector.getCompanyName.futureValue
         result mustBe expected
       }
     }
 
-    "return None when feature flag is false" in {
-
-      val mockAppConfig = mock[FrontendAppConfig]
-      when(mockAppConfig.xiEoriEnabled).thenReturn(false)
-      when(mockAppConfig.customsDataStore).thenReturn("some/string")
-
-      val response =
+    "return None when consent is empty for company info" in new Setup {
+      val response: String =
         """
           |{
-          |   "xiEori":"",
-          |   "consent":"1",
+          |   "name":"Tony Stark",
+          |   "consent": None,
           |   "address":{
-          |      "pbeAddressLine1":"86 street",
-          |      "pbeAddressLine2":"London",
-          |      "pbeAddressLine3":"GB"
+          |      "streetAndNumber":"86 Mysore Road",
+          |      "city":"London",
+          |      "postalCode":"SW11 5RZ",
+          |      "countryCode":"GB"
           |   }
           |}
           |""".stripMargin
 
-      val application: Application =
-        new GuiceApplicationBuilder()
-          .overrides(inject.bind[FrontendAppConfig].toInstance(mockAppConfig))
-          .configure("microservice.services.customs-data-store.port" -> server.port)
-          .build()
-
-      val connector = application.injector.instanceOf[CustomsDataStoreConnector]
-
-      running(application) {
-
+      running(app) {
         server.stubFor(
-          get(urlEqualTo("/customs-data-store/eori/GB123456789012/xieori-information"))
+          get(urlEqualTo("/customs-data-store/eori/GB123456789012/company-information"))
path: test/connectors/CustomsDataStoreConnectorSpec.scala
user: login: tyagikumarvineet
body: Replace `"/customs-data-store/eori/GB123456789012/company-information"` with `"/customs-data-store/eori/company-information"`
created_at: 2025-03-06T01:50:01Z
author_association: CONTRIBUTOR
diff_hunk: @@ -0,0 +1,28 @@
+/*
+ * Copyright 2024 HM Revenue & Customs
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package models.requests
+
+import base.SpecBase
+import play.api.libs.json.Json
+
+class EoriRequestSpec extends SpecBase {
+  "EoriRequest" should {
+    "return the correct value using reads and writes" in {
path: test/models/requests/EoriRequestSpec.scala
user: login: tyagikumarvineet
body: Please use Json string to write the tests (to do the assertions properly) and separate the tests for Reads and Writes.
created_at: 2025-03-06T02:03:35Z
author_association: CONTRIBUTOR
diff_hunk: @@ -17,10 +17,8 @@
 package connectors
 
 import config.FrontendAppConfig
-import models.{
-  CompanyInformation, EmailResponse, EmailResponses, EmailUnverifiedResponse, EmailVerifiedResponse, UndeliverableEmail,
-  UnverifiedEmail, XiEoriInformationResponse
-}
+import models._
path: app/connectors/CustomsDataStoreConnector.scala
user: login: tyagikumarvineet
body: Please revert,  to use the specific imports as it was before. Not a good practice to import everything when we need only few.
created_at: 2025-03-06T02:09:07Z
author_association: CONTRIBUTOR

PR comments:
user: login: platops-pr-bot
created_at: 2025-03-03T14:18:30Z
body: - `uk.gov.hmrc.sbt-distributables` can be updated to `2.6.0` in [project/plugins.sbt](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/plugins.sbt#L8)
- There is a bobby warning (builds will be prevented after 30 Jun 2025) - see the pr builder for details
- There is a bobby warning (builds will be prevented after 14 Jul 2025) - see the pr builder for details
author_association: NONE
user: login: platops-pr-bot
created_at: 2025-03-04T09:40:43Z
body: - ~~`uk.gov.hmrc.sbt-distributables` can be updated to `2.6.0` in [project/plugins.sbt](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/plugins.sbt#L8)~~
- There is a bobby warning (builds will be prevented after 30 Jun 2025) - see the pr builder for details
- There is a bobby warning (builds will be prevented after 14 Jul 2025) - see the pr builder for details
author_association: NONE
user: login: tyagikumarvineet
created_at: 2025-03-06T02:51:13Z
body: Please update your branch with the latest code in main branch
author_association: CONTRIBUTOR
user: login: platops-pr-bot
created_at: 2025-03-06T11:07:22Z
body: - ~~`uk.gov.hmrc.sbt-distributables` can be updated to `2.6.0` in [project/plugins.sbt](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/plugins.sbt#L8)~~
- uk.gov.hmrc:bootstrap-frontend-play-30 can be updated from 9.5.0 to 9.10.0 in [project/AppDependencies.scala](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/AppDependencies.scala#L1).
- uk.gov.hmrc:play-frontend-hmrc-play-30 can be updated from 11.6.0 to 11.11.0 in [project/AppDependencies.scala](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/AppDependencies.scala#L1).
- uk.gov.hmrc.mongo:hmrc-mongo-play-30 can be updated from 2.3.0 to 2.5.0 in [project/AppDependencies.scala](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/AppDependencies.scala#L1).
- uk.gov.hmrc:bootstrap-test-play-30 can be updated from 9.5.0 to 9.10.0 in [project/AppDependencies.scala](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/AppDependencies.scala#L1).
- There is a bobby warning (builds will be prevented after 30 Jun 2025) - see the pr builder for details
- There is a bobby warning (builds will be prevented after 14 Jul 2025) - see the pr builder for details
author_association: NONE
user: login: platops-pr-bot
created_at: 2025-03-06T11:44:27Z
body: - ~~`uk.gov.hmrc.sbt-distributables` can be updated to `2.6.0` in [project/plugins.sbt](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/plugins.sbt#L8)~~
- ~~uk.gov.hmrc:bootstrap-frontend-play-30 can be updated from 9.5.0 to 9.10.0 in [project/AppDependencies.scala](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/AppDependencies.scala#L1).~~
- ~~uk.gov.hmrc:play-frontend-hmrc-play-30 can be updated from 11.6.0 to 11.11.0 in [project/AppDependencies.scala](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/AppDependencies.scala#L1).~~
- ~~uk.gov.hmrc.mongo:hmrc-mongo-play-30 can be updated from 2.3.0 to 2.5.0 in [project/AppDependencies.scala](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/AppDependencies.scala#L1).~~
- ~~uk.gov.hmrc:bootstrap-test-play-30 can be updated from 9.5.0 to 9.10.0 in [project/AppDependencies.scala](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/AppDependencies.scala#L1).~~
- ~~There is a bobby warning (builds will be prevented after 14 Jul 2025) - see the pr builder for details~~
- `uk.gov.hmrc.http-verbs-play-30` can be removed - it is already provided by `uk.gov.hmrc.bootstrap-test-play-30`
- Runtime issues may occur. Change `org.playframework:sbt-plugin` to `3.0.6` in [project/plugins.sbt](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/plugins.sbt#L10) - to match what `uk.gov.hmrc.bootstrap-frontend-play-30` uses
- There is a bobby warning (builds will be prevented after 30 Jun 2025) - see the pr builder for details
author_association: NONE
user: login: platops-pr-bot
created_at: 2025-03-06T12:03:33Z
body: - ~~`uk.gov.hmrc.sbt-distributables` can be updated to `2.6.0` in [project/plugins.sbt](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/plugins.sbt#L8)~~
- ~~uk.gov.hmrc:bootstrap-frontend-play-30 can be updated from 9.5.0 to 9.10.0 in [project/AppDependencies.scala](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/AppDependencies.scala#L1).~~
- ~~uk.gov.hmrc:play-frontend-hmrc-play-30 can be updated from 11.6.0 to 11.11.0 in [project/AppDependencies.scala](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/AppDependencies.scala#L1).~~
- ~~uk.gov.hmrc.mongo:hmrc-mongo-play-30 can be updated from 2.3.0 to 2.5.0 in [project/AppDependencies.scala](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/AppDependencies.scala#L1).~~
- ~~uk.gov.hmrc:bootstrap-test-play-30 can be updated from 9.5.0 to 9.10.0 in [project/AppDependencies.scala](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/AppDependencies.scala#L1).~~
- ~~There is a bobby warning (builds will be prevented after 14 Jul 2025) - see the pr builder for details~~
- ~~Runtime issues may occur. Change `org.playframework:sbt-plugin` to `3.0.6` in [project/plugins.sbt](https://github.com/hmrc/customs-manage-authorities-frontend/blob/MMCA-5146/project/plugins.sbt#L10) - to match what `uk.gov.hmrc.bootstrap-frontend-play-30` uses~~
- `uk.gov.hmrc.http-verbs-play-30` can be removed - it is already provided by `uk.gov.hmrc.bootstrap-test-play-30`
- There is a bobby warning (builds will be prevented after 30 Jun 2025) - see the pr builder for details
author_association: NONE