public async Task CopyAatfPost_ValidViewModel_CacheShouldBeInvalidated() { Guid orgId = Guid.NewGuid(); var viewModel = CreateCopyAatfViewModel(); viewModel.StatusValue = 1; viewModel.SizeValue = 1; viewModel.ComplianceYear = 2019; viewModel.Name = "Name"; viewModel.ApprovalNumber = "WEE/AB1234CD/ATF"; var request = fixture.Create <AddAatf>(); var aatf = new AatfData() { Id = viewModel.Id, Organisation = new OrganisationData() { Id = viewModel.OrganisationId } }; A.CallTo(() => mapper.Map <CopyAatfViewModel>(aatf)).Returns(viewModel); A.CallTo(() => weeeClient.SendAsync(A <string> .Ignored, request)).Returns(true); var validationResult = new ValidationResult(); A.CallTo(() => validationWrapper.ValidateByYear(A <string> ._, viewModel, viewModel.ComplianceYear)).Returns(validationResult); var result = await controller.CopyAatfDetails(viewModel); A.CallTo(() => cache.InvalidateAatfCache(viewModel.OrganisationId)).MustHaveHappenedOnceExactly(); }
public async Task <ActionResult> UpdateApproval(UpdateApprovalViewModel model) { SetBreadcrumb(model.FacilityType, model.AatfName); if (ModelState.IsValid) { if (model.SelectedValue.Equals("Yes")) { using (var client = apiClient()) { await client.SendAsync(User.GetAccessToken(), model.Request); await cache.InvalidateAatfCache(model.OrganisationId); return(Redirect(Url.Action("Details", new { id = model.AatfId }))); } } else { return(RedirectToAction(nameof(ManageAatfDetails), new { id = model.AatfId })); } } return(View(model)); }
public async Task AddAatfPost_ValidViewModel_CacheShouldBeInvalidated() { AddAatfViewModel viewModel = new AddAatfViewModel() { SizeValue = 1, StatusValue = 1, OrganisationId = Guid.NewGuid() }; var validationResult = new ValidationResult(); A.CallTo(() => validationWrapper.Validate(A <string> ._, viewModel)).Returns(validationResult); A.CallTo(() => weeeClient.SendAsync(A <string> ._, A <GetApiUtcDate> ._)).Returns(new DateTime(2019, 1, 1)); await controller.AddAatf(viewModel); A.CallTo(() => cache.InvalidateAatfCache(viewModel.OrganisationId)).MustHaveHappenedOnceExactly(); A.CallTo(() => cache.InvalidateOrganisationSearch()).MustHaveHappened(Repeated.Exactly.Once); }
private async Task <ActionResult> AddFacility(AddFacilityViewModelBase viewModel) { PreventSiteAddressNameValidationErrors(); SetBreadcrumb(viewModel.FacilityType); viewModel = await PopulateViewModelLists(viewModel); if (!ModelState.IsValid) { if (!viewModel.ModelValidated) { ModelState.RunCustomValidation(viewModel); } ModelState.ApplyCustomValidationSummaryOrdering(AddFacilityViewModelBase.ValidationMessageDisplayOrder); return(View(nameof(Add), viewModel)); } using (var client = apiClient()) { var result = await validationWrapper.Validate(User.GetAccessToken(), viewModel); if (!result.IsValid) { ModelState.AddModelError("ApprovalNumber", Constants.ApprovalNumberExistsError); return(View(nameof(Add), viewModel)); } var request = new AddAatf() { Aatf = AatfHelper.CreateFacilityData(viewModel), AatfContact = viewModel.ContactData, OrganisationId = viewModel.OrganisationId, }; await client.SendAsync(User.GetAccessToken(), request); await cache.InvalidateAatfCache(request.OrganisationId); await client.SendAsync(User.GetAccessToken(), new CompleteOrganisationAdmin() { OrganisationId = viewModel.OrganisationId }); await cache.InvalidateOrganisationSearch(); return(RedirectToAction("ManageAatfs", "Aatf", new { viewModel.FacilityType })); } }