public async Task ThenMatchingOrganisationsAreReturned() { //Arrange var payeRef = "123/4567"; var aorn = "aorn"; var queryResponse = new GetOrganisationsByAornResponse { Organisations = new List <Organisation> { new Organisation { Address = new Address() }, new Organisation { Address = new Address() } } }; _mediator.Setup(x => x.SendAsync(It.Is <GetOrganisationsByAornRequest>(c => c.PayeRef.Equals(payeRef) && c.Aorn.Equals(aorn)))).ReturnsAsync(queryResponse); //Act var response = await _orchestrator.GetOrganisationsByAorn(aorn, payeRef); //Assert Assert.AreEqual(payeRef, response.Data.PayeRef); Assert.AreEqual(aorn, response.Data.Aorn); Assert.AreEqual(queryResponse.Organisations.Count(), response.Data.Results.Count); }
private async Task <ActionResult> PerformSearchPensionRegulatorByAorn(SearchPensionRegulatorByAornViewModel viewModel) { var userRef = OwinWrapper.GetClaimValue(ControllerConstants.UserRefClaimKeyName); var model = await _searchPensionRegulatorOrchestrator.GetOrganisationsByAorn(viewModel.Aorn, viewModel.PayeRef); await _mediatr.SendAsync(new UpdateUserAornLockRequest { UserRef = userRef, Success = model.Data.Results.Count > 0 }); switch (model.Data.Results.Count) { case 0: { var aornLock = await _mediatr.SendAsync(new GetUserAornLockRequest { UserRef = userRef }); viewModel.IsLocked = aornLock.UserAornStatus.IsLocked; viewModel.RemainingAttempts = aornLock.UserAornStatus.RemainingAttempts; viewModel.AllowedAttempts = aornLock.UserAornStatus.AllowedAttempts; viewModel.RemainingLock = aornLock.UserAornStatus.RemainingLock; return(View(ControllerConstants.SearchUsingAornViewName, viewModel)); } case 1: { if (await CheckIfPayeSchemeAlreadyInUse(viewModel.PayeRef)) { return(RedirectToAction(ControllerConstants.PayeErrorActionName, ControllerConstants.EmployerAccountControllerName, new { NotFound = false })); } await SavePensionRegulatorDataIfItHasAValidName(model.Data.Results.First(), true, false, viewModel.Aorn, viewModel.PayeRef); return(RedirectToAction(ControllerConstants.SummaryActionName, ControllerConstants.EmployerAccountControllerName)); } default: { if (await CheckIfPayeSchemeAlreadyInUse(viewModel.PayeRef)) { return(RedirectToAction(ControllerConstants.PayeErrorActionName, ControllerConstants.EmployerAccountControllerName, new { NotFound = false })); } await SavePayeDetails(viewModel.Aorn, viewModel.PayeRef); return(View(ControllerConstants.SearchPensionRegulatorResultsViewName, model.Data)); } } }