public override void Given() { ViewModel = new ChangeSpecialismViewModel { SelectedSpecialismCode = "SPL12345", PathwaySpecialisms = new PathwaySpecialismsViewModel { Specialisms = new List <SpecialismDetailsViewModel> { new SpecialismDetailsViewModel { Id = 11, Code = "SPL12345" }, new SpecialismDetailsViewModel { Id = 22, Code = "SPL12346" }, new SpecialismDetailsViewModel { Id = 33, Code = "SPL12347" }, } } }; mockResponse = new ManageRegistrationResponse { IsModified = true, IsSuccess = true }; RegistrationLoader.ProcessSpecialismChangeAsync(AoUkprn, ViewModel).Returns(mockResponse); }
public override void Given() { mockPathwaySpecialismsViewModel = new PathwaySpecialismsViewModel { Specialisms = new List <SpecialismDetailsViewModel> { new SpecialismDetailsViewModel { Id = 1, Code = "11111" }, new SpecialismDetailsViewModel { Id = 2, Code = "77777" }, new SpecialismDetailsViewModel { Id = 3, Code = "99999" }, new SpecialismDetailsViewModel { Id = 4, Code = "33333" }, } }; mockChangeSpecialismViewModel = new ChangeSpecialismViewModel { ProfileId = ProfileId, CoreCode = "12345678", PathwaySpecialisms = mockPathwaySpecialismsViewModel, SpecialismCodes = new List <string> { "77777" } }; RegistrationLoader.GetRegistrationProfileAsync <ChangeSpecialismViewModel>(AoUkprn, ProfileId).Returns(mockChangeSpecialismViewModel); RegistrationLoader.GetPathwaySpecialismsByPathwayLarIdAsync(AoUkprn, mockChangeSpecialismViewModel.CoreCode).Returns(mockPathwaySpecialismsViewModel); }
public override void Given() { ViewModel = new ChangeSpecialismViewModel { ProfileId = 1 }; InternalApiClient.GetRegistrationDetailsAsync(AoUkprn, Arg.Any <int>(), RegistrationPathwayStatus.Active) .Returns(mockRegDetails); }
public override void Given() { ViewModel.PathwaySpecialisms = new ViewModel.PathwaySpecialismsViewModel(); mockChangeSpecialismViewModel = new ChangeSpecialismViewModel { SpecialismCodes = new List <string>() }; RegistrationLoader.GetRegistrationProfileAsync <ChangeSpecialismViewModel>(AoUkprn, ViewModel.ProfileId).Returns(mockChangeSpecialismViewModel); Controller.ModelState.AddModelError("HasSpecialismSelected", SelectSpecialisms.Validation_Select_Specialism_Required_Message); }
public override void Given() { mockPathwaySpecialismsViewModel = new PathwaySpecialismsViewModel { Specialisms = new List <SpecialismDetailsViewModel>() }; mockChangeSpecialismViewModel = new ChangeSpecialismViewModel { CoreCode = "12345678", SpecialismCodes = new List <string>() }; RegistrationLoader.GetRegistrationProfileAsync <ChangeSpecialismViewModel>(AoUkprn, ProfileId).Returns(mockChangeSpecialismViewModel); RegistrationLoader.GetPathwaySpecialismsByPathwayLarIdAsync(AoUkprn, mockChangeSpecialismViewModel.CoreCode).Returns(mockPathwaySpecialismsViewModel); }
public override void Given() { var profileId = 1; var uln = 1234567890; ViewModel = new ChangeSpecialismViewModel { ProfileId = profileId, PathwaySpecialisms = new PathwaySpecialismsViewModel { PathwayId = profileId, Specialisms = new List <SpecialismDetailsViewModel> // Changed { new SpecialismDetailsViewModel { Code = "111", IsSelected = true }, new SpecialismDetailsViewModel { Code = "555", IsSelected = true } } } }; mockRegDetails = new RegistrationDetails { Uln = uln, ProfileId = profileId, Specialisms = ViewModel.PathwaySpecialisms.Specialisms .Select(x => new SpecialismDetails { Code = "different" }), }; InternalApiClient.GetRegistrationDetailsAsync(AoUkprn, ViewModel.ProfileId, RegistrationPathwayStatus.Active) .Returns(mockRegDetails); InternalApiClient.UpdateRegistrationAsync(Arg.Is <ManageRegistration> (x => x.Uln == mockRegDetails.Uln && x.ProfileId == mockRegDetails.ProfileId && x.SpecialismCodes.All(s => ViewModel.PathwaySpecialisms.Specialisms .Select(c => c.Code).Contains(s)))) .Returns(true); }
public override void Setup() { HttpContextAccessor = Substitute.For <IHttpContextAccessor>(); RegistrationLoader = Substitute.For <IRegistrationLoader>(); CacheService = Substitute.For <ICacheService>(); Logger = Substitute.For <ILogger <ManageRegistrationController> >(); Controller = new ManageRegistrationController(RegistrationLoader, CacheService, Logger); ProfileId = 1; AoUkprn = 1234567890; var httpContext = new ClaimsIdentityBuilder <ManageRegistrationController>(Controller) .Add(CustomClaimTypes.Ukprn, AoUkprn.ToString()) .Add(CustomClaimTypes.UserId, Guid.NewGuid().ToString()) .Build() .HttpContext; HttpContextAccessor.HttpContext.Returns(httpContext); ViewModel = new ChangeSpecialismViewModel(); }
public override void Given() { var profileId = 1; var uln = 1234567890; ViewModel = new ChangeSpecialismViewModel { ProfileId = profileId, PathwaySpecialisms = new PathwaySpecialismsViewModel { PathwayId = profileId, Specialisms = new List <SpecialismDetailsViewModel> // UnChanged { new SpecialismDetailsViewModel { Code = "111", IsSelected = true }, new SpecialismDetailsViewModel { Code = "222", IsSelected = true } } } }; mockRegDetails = new RegistrationDetails { Uln = uln, ProfileId = profileId, Specialisms = ViewModel.PathwaySpecialisms.Specialisms .Select(x => new SpecialismDetails { Code = x.Code }), }; InternalApiClient.GetRegistrationDetailsAsync(AoUkprn, ViewModel.ProfileId, RegistrationPathwayStatus.Active) .Returns(mockRegDetails); InternalApiClient.UpdateRegistrationAsync(Arg.Any <ManageRegistration>()) .Returns(true); }
public async Task <ManageRegistrationResponse> ProcessSpecialismChangeAsync(long aoUkprn, ChangeSpecialismViewModel viewModel) { var reg = await _internalApiClient.GetRegistrationDetailsAsync(aoUkprn, viewModel.ProfileId, RegistrationPathwayStatus.Active); if (reg == null) { return(null); } var prevSpecialisms = reg.Specialisms.Select(x => x.Code); var currentSpecialisms = viewModel.PathwaySpecialisms.Specialisms.Where(x => x.IsSelected).Select(s => s.Code); var areSame = prevSpecialisms.Count() == currentSpecialisms.Count() && prevSpecialisms.All(x => currentSpecialisms.Contains(x)); if (areSame) { return new ManageRegistrationResponse { IsModified = false } } ; var request = _mapper.Map <ManageRegistration>(reg); _mapper.Map(viewModel, request); var isSuccess = await _internalApiClient.UpdateRegistrationAsync(request); return(new ManageRegistrationResponse { ProfileId = request.ProfileId, Uln = request.Uln, IsModified = true, IsSuccess = isSuccess }); }