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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 6
0
        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();
        }
Ejemplo n.º 8
0
        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);
        }
Ejemplo n.º 9
0
        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
            });
        }