public async Task <ActionResult> PcsRemoved(PcsRemovedViewModel viewModel) { await this.SetBreadcrumb(viewModel.OrganisationId, BreadCrumbConstant.AatfReturn, DisplayHelper.YearQuarterPeriodFormat(this.TempData["currentQuarter"] as Quarter, this.TempData["currentQuarterWindow"] as QuarterWindow)); if (this.ModelState.IsValid) { if (viewModel.SelectedValue == "Yes") { using (var client = this.apiClient()) { var existing = await client.SendAsync(this.User.GetAccessToken(), new GetReturnScheme(viewModel.ReturnId)); await client.SendAsync(this.User.GetAccessToken(), new RemoveReturnScheme() { SchemeIds = viewModel.RemovedSchemes, ReturnId = viewModel.ReturnId }); return(await this.SaveAndContinue(existing, viewModel.SelectedSchemes, viewModel.ReturnId)); } } else { return(AatfRedirect.SelectPcs(viewModel.OrganisationId, viewModel.ReturnId, true)); } } else { return(this.View(viewModel)); } }
public async void PcsRemovedPost_YesSelectedValue_ReturnsUserToTaskListCallsToSaveSchemesMade() { var returnId = Guid.NewGuid(); var reselectedSchemes = PrepareSaveSchemes(returnId); var model = new PcsRemovedViewModel() { ReturnId = returnId, SelectedValue = "Yes", SelectedSchemes = reselectedSchemes, RemovedSchemes = new List <Guid>() { Guid.NewGuid() } }; var result = await controller.PcsRemoved(model) as RedirectToRouteResult; result.RouteValues["returnId"].Should().Be(returnId); result.RouteValues["action"].Should().Be("Index"); result.RouteValues["controller"].Should().Be("AatfTaskList"); result.RouteName.Should().Be(AatfRedirect.Default); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <AddReturnScheme> .That.Matches(p => p.ReturnId == returnId && p.SchemeIds == reselectedSchemes))).MustHaveHappened(Repeated.Exactly.Once); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <RemoveReturnScheme> .That.Matches(p => p.SchemeIds == model.RemovedSchemes && p.ReturnId == returnId))).MustHaveHappened(Repeated.Exactly.Once); }
public async Task <ActionResult> PcsRemoved(Guid organisationId, Guid returnId) { var removedSchemeList = this.TempData[RemovedSchemeList] as List <SchemeData>; var selectedSchemes = this.TempData[SelectedSchemes] as List <Guid>; var removedSchemes = this.TempData[RemovedSchemes] as List <Guid>; var model = new PcsRemovedViewModel() { RemovedSchemeList = removedSchemeList, SelectedSchemes = selectedSchemes, RemovedSchemes = removedSchemes, ReturnId = returnId, OrganisationId = organisationId }; this.TempData[RemovedSchemeList] = removedSchemeList; this.TempData[SelectedSchemes] = selectedSchemes; this.TempData[RemovedSchemes] = removedSchemes; using (var client = this.apiClient()) { var @return = await client.SendAsync(this.User.GetAccessToken(), new GetReturn(returnId, false)); await this.SetBreadcrumb(organisationId, BreadCrumbConstant.AatfReturn, DisplayHelper.YearQuarterPeriodFormat(@return.Quarter, @return.QuarterWindow)); } return(this.View(model)); }
public async void PcsRemovedPost_NoSelectedValue_ReturnsToSelectPcs() { var returnId = Guid.NewGuid(); var organisationId = Guid.NewGuid(); var reselectedSchemes = PrepareSaveSchemes(returnId); var model = new PcsRemovedViewModel() { ReturnId = returnId, SelectedValue = "No", SelectedSchemes = reselectedSchemes, RemovedSchemes = new List <Guid>(), OrganisationId = organisationId }; var result = await controller.PcsRemoved(model) as RedirectToRouteResult; result.RouteValues["organisationId"].Should().Be(organisationId); result.RouteValues["returnId"].Should().Be(returnId); result.RouteValues["action"].Should().Be("Index"); result.RouteName.Should().Be(AatfRedirect.SelectPcsRouteName); }