Skip to content

Commit

Permalink
APIS-7031 Fix issue with responsible individual verification record i…
Browse files Browse the repository at this point in the history
…n submit application approval request command handler (#500)
  • Loading branch information
petekirby-ee authored Jun 12, 2024
1 parent e2665fe commit 00821db
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 7 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,7 @@ class SubmitApplicationApprovalRequestCommandHandler @Inject() (
_ <- E.liftF(stateHistoryRepository.insert(createStateHistory(updatedApp, cmd)))
updatedSubmission = Submission.submit(cmd.timestamp, cmd.requesterEmail.text)(submission)
savedSubmission <- E.liftF(submissionService.store(updatedSubmission))
createTouUpliftResult = createTouUpliftVerificationRecordIfNeeded(isRequesterTheResponsibleIndividual, savedApp, savedSubmission, cmd)
createTouUpliftResult = createResponsibleIndividualVerificationRecordIfNeeded(isRequesterTheResponsibleIndividual, savedApp, savedSubmission, cmd)

verificationId <- E.liftF(createTouUpliftResult)
_ = logCompletedApprovalRequest(savedApp)
Expand Down Expand Up @@ -181,20 +181,18 @@ class SubmitApplicationApprovalRequestCommandHandler @Inject() (
cmd.timestamp
)

private def createTouUpliftVerificationRecordIfNeeded(
private def createResponsibleIndividualVerificationRecordIfNeeded(
isRequesterTheResponsibleIndividual: Boolean,
application: StoredApplication,
submission: Submission,
cmd: SubmitApplicationApprovalRequest
): Future[Option[ResponsibleIndividualVerificationId]] = {
if (!isRequesterTheResponsibleIndividual) {
for {
verification <- responsibleIndividualVerificationService.createNewTouUpliftVerification(
verification <- responsibleIndividualVerificationService.createNewToUVerification(
application,
submission.id,
submission.latestInstance.index,
cmd.requesterName,
cmd.requesterEmail
submission.latestInstance.index
)
} yield Some(verification.id)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,17 @@ trait ResponsibleIndividualVerificationServiceMockModule extends MockitoSugar wi
}
}

object CreateNewToUVerification {

def thenCreateNewToUVerification(verificationId: ResponsibleIndividualVerificationId = ResponsibleIndividualVerificationId.random) = {
when(aMock.createNewToUVerification(*[StoredApplication], *[SubmissionId], *)).thenAnswer((appData: StoredApplication, submissionId: SubmissionId, index: Int) =>
Future.successful(
ResponsibleIndividualToUVerification(verificationId, appData.id, submissionId, index, appData.name, instant)
)
)
}
}

object GetVerification {

def thenGetVerification(code: String) = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,7 @@ class SubmitApplicationApprovalRequestCommandHandlerSpec extends CommandHandlerB
SubmissionsServiceMock.Store.thenReturn()
ApplicationRepoMock.AddApplicationTermsOfUseAcceptance.thenReturn(app)
val code = ResponsibleIndividualVerificationId.random
ResponsibleIndividualVerificationServiceMock.CreateNewTouUpliftVerification.thenCreateNewTouUpliftVerification(code)
ResponsibleIndividualVerificationServiceMock.CreateNewToUVerification.thenCreateNewToUVerification(code)

val result = await(underTest.process(app, SubmitApplicationApprovalRequest(Actors.AppCollaborator(appAdminEmail), instant, appAdminName, appAdminEmail)).value).value

Expand Down

0 comments on commit 00821db

Please sign in to comment.