public void Arrange() { var distributedCacheMock = new Mock <IDistributedCache>(); var certificatePrivateStandardCodeController = new CertificatePrivateStandardCodeController(MockLogger.Object, MockHttpContextAccessor.Object, MockOrganisationApiClient, new CacheHelper(distributedCacheMock.Object), MockCertificateApiClient, MockSession.Object, MockStandardServiceClient.Object ); var vm = new CertificateStandardCodeListViewModel { Id = Certificate.Id, FullName = "James Corley", SelectedStandardCode = "93", IsPrivatelyFunded = true }; SetupSession(); MockSession.Setup(q => q.Get("EndPointAsessorOrganisationId")) .Returns("EPA00001"); certificatePrivateStandardCodeController.ModelState.AddModelError("", "Error"); var result = certificatePrivateStandardCodeController.StandardCode(vm).GetAwaiter().GetResult(); _result = result as ViewResult; }
public void WhenInvalidModelContainsOneError() { var distributedCacheMock = new Mock <IDistributedCache>(); var certificatePrivateStandardCodeController = new CertificatePrivateStandardCodeController(MockLogger.Object, MockHttpContextAccessor.Object, new CacheService(distributedCacheMock.Object), MockApiClient, MockStandardServiceClient.Object, MockOrganisationsApiClient); var vm = new CertificateStandardCodeListViewModel { Id = Certificate.Id, FullName = "James Corley", SelectedStandardCode = "93", IsPrivatelyFunded = true, ReasonForChange = "Required reason for change" }; MockSession.Setup(q => q.Get("EndPointAsessorOrganisationId")) .Returns("EPA00001"); // view model validation errors will not be trigged as they are attached via fluent // validation and these are not connected in tests however this test is actually testing // the correct view is returned so the actual error is irrelevant and can be forced certificatePrivateStandardCodeController.ModelState.AddModelError("", "Error"); var result = certificatePrivateStandardCodeController.StandardCode(vm).GetAwaiter().GetResult(); _result = result as ViewResult; }
public void WhenValidModelContainsNoErrors() { var distributedCacheMock = new Mock <IDistributedCache>(); var certificatePrivateStandardCodeController = new CertificatePrivateStandardCodeController(MockLogger.Object, MockHttpContextAccessor.Object, new CacheService(distributedCacheMock.Object), MockApiClient, MockStandardServiceClient.Object, MockOrganisationsApiClient ); var vm = new CertificateStandardCodeListViewModel { Id = Certificate.Id, FullName = "James Corley", SelectedStandardCode = "93", IsPrivatelyFunded = true, ReasonForChange = "Required reason for change" }; MockSession.Setup(q => q.Get("EndPointAsessorOrganisationId")) .Returns("EPA00001"); var result = certificatePrivateStandardCodeController.StandardCode(vm).GetAwaiter().GetResult(); _result = result as RedirectToActionResult; }
public async Task <IActionResult> StandardCode(CertificateStandardCodeListViewModel vm) { var username = ContextAccessor.HttpContext.User .FindFirst("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn")?.Value; var filteredStandardCodes = await GetFilteredStatusCodes(); var standards = (await GetAllStandards()).ToList(); vm.StandardCodes = GetSelectListItems(standards, filteredStandardCodes); if (!string.IsNullOrEmpty(vm.SelectedStandardCode)) { var selectedStandard = standards.First(q => q.StandardId.ToString() == vm.SelectedStandardCode); vm.StandardReference = selectedStandard.ReferenceNumber; vm.Standard = selectedStandard.Title; vm.Level = selectedStandard.StandardData.Level.GetValueOrDefault(); var sessionString = SessionService.Get("CertificateSession"); if (sessionString == null) { Logger.LogInformation( $"Session for CertificateOptionViewModel requested by {username} has been lost. Redirecting to Search Index"); return(RedirectToAction("Index", "Search")); } var certificateSession = JsonConvert.DeserializeObject <CertificateSession>(sessionString); var options = (await _certificateApiClient.GetOptions(Convert.ToInt32(vm.SelectedStandardCode))) .Select(o => o.OptionName).ToList(); certificateSession.Options = options; _sessionService.Set("CertificateSession", new CertificateSession() { CertificateId = certificateSession.CertificateId, Uln = certificateSession.Uln, StandardCode = Convert.ToInt32(vm.SelectedStandardCode), Options = options }); } return(await SaveViewModel(vm, returnToIfModelNotValid : "~/Views/Certificate/StandardCode.cshtml", nextAction : RedirectToAction("Option", "CertificateOption"), action : CertificateActions.StandardCode)); }
public void Arrange() { Mock <IDistributedCache> mockDistributedCache = new Mock <IDistributedCache>(); var certificatePrivateStandardCodeController = new CertificatePrivateStandardCodeController(MockLogger.Object, MockHttpContextAccessor.Object, new CacheService(mockDistributedCache.Object), MockApiClient, MockStandardServiceClient.Object, MockOrganisationsApiClient ); _result = certificatePrivateStandardCodeController.StandardCode(Certificate.Id, true).GetAwaiter().GetResult(); var result = _result as ViewResult; _viewModelResponse = result.Model as CertificateStandardCodeListViewModel; }
public async Task <IActionResult> StandardCode(CertificateStandardCodeListViewModel vm) { var username = ContextAccessor.HttpContext.User .FindFirst("http://schemas.xmlsoap.org/ws/2005/05/identity/claims/upn")?.Value; var filteredStandardCodes = await GetFilteredStatusCodes(vm.Id); var standards = (await GetAllStandards()).ToList(); vm.StandardCodes = GetSelectListItems(standards, filteredStandardCodes); if (!string.IsNullOrEmpty(vm.SelectedStandardCode)) { var selectedStandard = standards.First(q => q.StandardId.ToString() == vm.SelectedStandardCode); vm.Standard = selectedStandard.Title; vm.Level = selectedStandard.StandardData.Level.GetValueOrDefault(); } var actionResult = await SaveViewModel(vm, returnToIfModelNotValid : "~/Views/CertificateAmend/StandardCode.cshtml", nextAction : RedirectToAction("Check", "CertificateAmend", new { certificateId = vm.Id, fromapproval = vm.FromApproval }), action : CertificateActions.StandardCode); return(actionResult); }