public void Arrange() { var certificatePrivateFirstNameController = new CertificatePrivateFirstNameController(MockLogger.Object, MockHttpContextAccessor.Object, MockCertificateApiClient, MockSession.Object ); var vm = new CertificateFirstNameViewModel { Id = Certificate.Id, FullName = "James Corley", FirstName = "James", FamilyName = "Corley", GivenNames = "James", Level = 2, Standard = "91", IsPrivatelyFunded = true }; SetupSession(); var result = certificatePrivateFirstNameController.FirstName(vm).GetAwaiter().GetResult(); _result = result as RedirectToActionResult; }
public void WhenInvalidModelContainsOneError() { // view model validation are var certificatePrivateFirstNameController = new CertificatePrivateFirstNameController(MockLogger.Object, MockHttpContextAccessor.Object, MockApiClient ); var vm = new CertificateFirstNameViewModel { Id = Certificate.Id, FullName = "James Corley", FirstName = "James", FamilyName = "Corley", GivenNames = "James", Level = 2, Standard = "91", IsPrivatelyFunded = true, ReasonForChange = "Reason for change" }; // 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 certificatePrivateFirstNameController.ModelState.AddModelError("", "Error"); var result = certificatePrivateFirstNameController.FirstName(vm).GetAwaiter().GetResult(); _result = result as ViewResult; }
public void WhenValidModelContainsNoErrors() { var certificatePrivateFirstNameController = new CertificatePrivateFirstNameController(MockLogger.Object, MockHttpContextAccessor.Object, MockApiClient ); var vm = new CertificateFirstNameViewModel { Id = Certificate.Id, FullName = "James Corley", FirstName = "James", FamilyName = "Corley", GivenNames = "James", Level = 2, Standard = "91", IsPrivatelyFunded = true, ReasonForChange = "Required reason for change" }; var result = certificatePrivateFirstNameController.FirstName(vm).GetAwaiter().GetResult(); _result = result as RedirectToActionResult; }
public async Task <IActionResult> FirstName(CertificateFirstNameViewModel vm) { var actionResult = await SaveViewModel(vm, returnToIfModelNotValid : "~/Views/CertificateAmend/FirstName.cshtml", nextAction : RedirectToAction("Check", "CertificateAmend", new { certificateId = vm.Id, fromapproval = vm.FromApproval }), action : CertificateActions.FirstName); return(actionResult); }
public void Arrange() { var certificatePrivateFirstNameController = new CertificatePrivateFirstNameController(MockLogger.Object, MockHttpContextAccessor.Object, MockApiClient ); _result = certificatePrivateFirstNameController.FirstName(Certificate.Id, true).GetAwaiter().GetResult(); var result = _result as ViewResult; _viewModelResponse = result.Model as CertificateFirstNameViewModel; }
public static CertificateApiClient Setup(Certificate certificate, Mock <ILogger <CertificateApiClient> > apiClientLoggerMock) { var webConfigMock = new Mock <IWebConfiguration>(); var hostMock = new Mock <IHostingEnvironment>(); hostMock .Setup(m => m.EnvironmentName) .Returns(EnvironmentName.Development); var tokenServiceMock = new TokenService(webConfigMock.Object, hostMock.Object, false); var options = Builder <Option> .CreateListOfSize(10) .Build(); var mockHttp = new MockHttpMessageHandler(); var client = mockHttp.ToHttpClient(); client.BaseAddress = new Uri("http://localhost:59022/"); mockHttp.When($"http://localhost:59022/api/v1/certificates/{certificate.Id}") .Respond("application/json", JsonConvert.SerializeObject(certificate)); mockHttp.When($"http://localhost:59022/api/v1/organisations/{certificate.OrganisationId}") .Respond("application/json", JsonConvert.SerializeObject(certificate)); mockHttp.When($"http://localhost:59022/api/v1/certificates/options/?stdCode={93}") .Respond("application/json", JsonConvert.SerializeObject(options)); var certificateFirstNameViewModel = new CertificateFirstNameViewModel { Id = new Guid("1f120837-72d5-40eb-a785-b3936210d47a"), FullName = "James Corley", FirstName = "James", FamilyName = "Corley", GivenNames = "James", Level = 2, Standard = "91", IsPrivatelyFunded = true }; mockHttp .When(System.Net.Http.HttpMethod.Put, "http://localhost:59022/api/v1/certificates/update") .Respond(System.Net.HttpStatusCode.OK, "application/json", "{'status' : 'OK'}"); var apiClient = new CertificateApiClient(client, tokenServiceMock, apiClientLoggerMock.Object); return(apiClient); }
public void Arrange() { var certificatePrivateFirstNameController = new CertificatePrivateFirstNameController(MockLogger.Object, MockHttpContextAccessor.Object, MockCertificateApiClient, MockSession.Object ); SetupSession(); var mockStringLocaliserBuildernew = new MockStringLocaliserBuilder(); var localiser = mockStringLocaliserBuildernew .WithKey(ResourceMessageName.NoAssesmentProviderFound) .WithKeyValue("100000000") .Build <CertificateFirstNameViewModelValidator>(); var certificateFirstNameViewModelValidator = new CertificateFirstNameViewModelValidator(localiser.Object); var vm = new CertificateFirstNameViewModel { Id = Certificate.Id, FullName = "James Corley", FirstName = String.Empty, FamilyName = "", GivenNames = "James", Level = 2, Standard = "91", IsPrivatelyFunded = true }; _validationResult = certificateFirstNameViewModelValidator.Validate(vm); }
public static ApiClient Setup(Certificate certificate, Mock <ILogger <ApiClient> > apiClientLoggerMock) { var tokenServiceMock = new Mock <ITokenService>(); var options = Builder <Option> .CreateListOfSize(10) .Build(); var certificateResponses = Builder <CertificateResponse> .CreateListOfSize(10) .Build(); var certificateSummaryResponses = Builder <CertificateSummaryResponse> .CreateListOfSize(10) .All() .TheFirst(3) .With(x => x.Status = "Approved") .TheNext(3) .With(x => x.Status = "Rejected") .TheNext(4) .With(x => x.Status = "ToBeApproved") .Build(); var paginatedResponseApproval = new PaginatedList <CertificateSummaryResponse>( certificateSummaryResponses.Where(x => x.Status == "Approved").ToList(), 10, 1, 10); var paginatedResponseRejections = new PaginatedList <CertificateSummaryResponse>( certificateSummaryResponses.Where(x => x.Status == "Rejected").ToList(), 10, 1, 10); var paginatedResponseSentForApproval = new PaginatedList <CertificateSummaryResponse>( certificateSummaryResponses.Where(x => x.Status == "ToBeApproved").ToList(), 10, 1, 10); var mockHttp = new MockHttpMessageHandler(); var client = mockHttp.ToHttpClient(); client.BaseAddress = new Uri("http://localhost:59022/"); mockHttp.When($"http://localhost:59022/api/v1/certificates/{certificate.Id}") .Respond("application/json", JsonConvert.SerializeObject(certificate)); /// api / v1 / organisations / organisation /{ id} var organisation = Builder <Organisation> .CreateNew() .With(q => q.Id = certificate.OrganisationId) .With(q => q.EndPointAssessorOrganisationId = "EPA00001") .Build(); mockHttp.When($"http://localhost:59022/api/v1/organisations/organisation/{certificate.OrganisationId}") .Respond("application/json", JsonConvert.SerializeObject(organisation)); mockHttp.When($"http://localhost:59022/api/v1/certificates/approvals/?pageSize=10&pageIndex=0&status=Submitted&privatelyFundedStatus=Approved") .Respond("application/json", JsonConvert.SerializeObject(paginatedResponseApproval)); mockHttp.When($"http://localhost:59022/api/v1/certificates/approvals/?pageSize=10&pageIndex=0&status=Draft&privatelyFundedStatus=Rejected") .Respond("application/json", JsonConvert.SerializeObject(paginatedResponseRejections)); mockHttp.When($"http://localhost:59022/api/v1/certificates/approvals/?pageSize=0&pageIndex=0&status=ToBeApproved&privatelyFundedStatus=SentForApproval") .Respond("application/json", JsonConvert.SerializeObject(paginatedResponseSentForApproval)); mockHttp.When($"http://localhost:59022/api/v1/certificates/options/?stdCode={93}") .Respond("application/json", JsonConvert.SerializeObject(options)); var certificateFirstNameViewModel = new CertificateFirstNameViewModel { Id = new Guid("1f120837-72d5-40eb-a785-b3936210d47a"), FullName = "James Corley", FirstName = "James", FamilyName = "Corley", GivenNames = "James", Level = 2, Standard = "91", IsPrivatelyFunded = true }; mockHttp .When(System.Net.Http.HttpMethod.Put, "http://localhost:59022/api/v1/certificates/update") .Respond(System.Net.HttpStatusCode.OK, "application/json", "{'status' : 'OK'}"); var apiClient = new ApiClient(client, apiClientLoggerMock.Object, tokenServiceMock.Object); return(apiClient); }
public async Task <IActionResult> FirstName(CertificateFirstNameViewModel vm) { return(await SaveViewModel(vm, returnToIfModelNotValid : "~/Views/Certificate/FirstName.cshtml", nextAction : RedirectToAction("StandardCode", "CertificatePrivateStandardCode"), action : CertificateActions.FirstName)); }