public void Arrange()
        {
            var fixture = new Fixture();

            _request = fixture.Create <DatalockConfirmRestartRequest>();
            _sut     = new ApprenticeController(Mock.Of <IModelMapper>(), Mock.Of <ICookieStorageService <IndexRequest> >(), Mock.Of <ICommitmentsApiClient>());
        }
Esempio n. 2
0
        public async Task Then_Will_Get_Saved_Search_Details_From_Cookies(
            IndexRequest request,
            IndexRequest savedRequest,
            IndexViewModel expectedViewModel,
            [Frozen] Mock <IModelMapper> apprenticeshipMapper,
            [Frozen] Mock <ICookieStorageService <IndexRequest> > cookieService,
            ApprenticeController controller)
        {
            //Arrange
            request.FromSearch = true;

            apprenticeshipMapper
            .Setup(mapper => mapper.Map <IndexViewModel>(It.IsAny <IndexRequest>()))
            .ReturnsAsync(expectedViewModel);

            cookieService
            .Setup(x => x.Get(CookieNames.ManageApprentices))
            .Returns(savedRequest);

            //Act
            await controller.Index(request);

            //Assert
            cookieService.Verify(x => x.Get(CookieNames.ManageApprentices));
        }
Esempio n. 3
0
        public PostStartDateFixture()
        {
            _viewModel = new StartDateViewModel
            {
                ApprenticeshipHashedId = "DF34WG2",
                EmployerAccountLegalEntityPublicHashedId = "DFF41G",
                ProviderId = 2342,
                StartDate  = new MonthYearModel("62020"),
                StopDate   = DateTime.UtcNow.AddDays(-5)
            };

            _request = new EndDateRequest
            {
                ApprenticeshipHashedId = _viewModel.ApprenticeshipHashedId,
                EmployerAccountLegalEntityPublicHashedId = _viewModel.EmployerAccountLegalEntityPublicHashedId,
                ProviderId = _viewModel.ProviderId,
                StartDate  = _viewModel.StartDate.MonthYear
            };
            _cookieStorageServiceMock = new Mock <ICookieStorageService <IndexRequest> >();
            _modelMapperMock          = new Mock <IModelMapper>();
            _modelMapperMock
            .Setup(x => x.Map <EndDateRequest>(_viewModel))
            .ReturnsAsync(_request);
            _sut = new ApprenticeController(_modelMapperMock.Object, _cookieStorageServiceMock.Object, Mock.Of <ICommitmentsApiClient>());
        }
            public WhenPostingConfirmFixture()
            {
                _apiClient = new Mock <ICommitmentsApiClient>();
                _apiClient.Setup(x => x.CreateChangeOfPartyRequest(It.IsAny <long>(), It.IsAny <CreateChangeOfPartyRequestRequest>(),
                                                                   It.IsAny <CancellationToken>())).Returns(Task.CompletedTask);

                _mapperResult = new CreateChangeOfPartyRequestRequest();

                _modelMapper = new Mock <IModelMapper>();
                _modelMapper.Setup(x => x.Map <CreateChangeOfPartyRequestRequest>(It.IsAny <ConfirmViewModel>()))
                .ReturnsAsync(_mapperResult);

                _viewModel = new ConfirmViewModel
                {
                    ApprenticeshipId                 = 123,
                    ApprenticeshipHashedId           = "DF34WG2",
                    ProviderId                       = 2342,
                    AccountLegalEntityPublicHashedId = "DFF41G",
                    NewStartDate                     = "62020",
                    NewEmployerName                  = "TestEmployerName"
                };

                var tempData = new TempDataDictionary(new DefaultHttpContext(), Mock.Of <ITempDataProvider>());

                _sut = new ApprenticeController(_modelMapper.Object, Mock.Of <ICookieStorageService <IndexRequest> >(), _apiClient.Object);

                _sut.TempData = tempData;
            }
Esempio n. 5
0
        public void Arrange()
        {
            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();
            _mockModelMapper          = new Mock <IModelMapper>();

            var autoFixture = new Fixture();

            _viewModel = autoFixture.Create <ChangeVersionViewModel>();

            var baseDate    = DateTime.Now;
            var startDate   = new MonthYearModel(baseDate.ToString("MMyyyy"));
            var endDate     = new MonthYearModel(baseDate.AddYears(2).ToString("MMyyyy"));
            var dateOfBirth = new MonthYearModel(baseDate.AddYears(-18).ToString("MMyyyy"));

            _editRequestViewModel = autoFixture.Build <EditApprenticeshipRequestViewModel>()
                                    .With(x => x.StartDate, startDate)
                                    .With(x => x.EndDate, endDate)
                                    .With(x => x.DateOfBirth, dateOfBirth)
                                    .Create();

            _mockModelMapper.Setup(m => m.Map <EditApprenticeshipRequestViewModel>(It.IsAny <ChangeVersionViewModel>()))
            .ReturnsAsync(_editRequestViewModel);

            _controller = new ApprenticeController(_mockModelMapper.Object,
                                                   Mock.Of <ICookieStorageService <IndexRequest> >(),
                                                   _mockCommitmentsApiClient.Object,
                                                   Mock.Of <ILogger <ApprenticeController> >());

            _controller.TempData = new TempDataDictionary(new Mock <HttpContext>().Object, new Mock <ITempDataProvider>().Object);
        }
Esempio n. 6
0
            public WhenPostingReviewApprenticeshipUpdatesFixture()
            {
                _apiClient = new Mock <ICommitmentsApiClient>();
                _apiClient.Setup(x => x.UndoApprenticeshipUpdates(It.IsAny <long>(), It.IsAny <UndoApprenticeshipUpdatesRequest>(),
                                                                  It.IsAny <CancellationToken>())).Returns(Task.CompletedTask);

                _modelMapper = new Mock <IModelMapper>();

                _viewModel = new ReviewApprenticeshipUpdatesViewModel
                {
                    ApprenticeshipId       = 123,
                    ApprenticeshipHashedId = "DF34WG2",
                    ProviderId             = 2342
                };

                var tempData = new TempDataDictionary(new DefaultHttpContext(), Mock.Of <ITempDataProvider>());

                var autoFixture = new Fixture();

                UserInfo = autoFixture.Create <UserInfo>();
                AuthenticationService = new Mock <IAuthenticationService>();
                AuthenticationService.Setup(x => x.UserInfo).Returns(UserInfo);

                _sut = new ApprenticeController(_modelMapper.Object, Mock.Of <ICookieStorageService <IndexRequest> >(), _apiClient.Object);

                _sut.TempData = tempData;
            }
Esempio n. 7
0
        public GetChangeEmployerPageFixture()
        {
            _providerId             = 123;
            _apprenticeshipId       = 345;
            _apprenticeshipHashedId = "DS23JF3";
            _request = new ChangeEmployerRequest
            {
                ProviderId             = _providerId,
                ApprenticeshipHashedId = _apprenticeshipHashedId,
                ApprenticeshipId       = _apprenticeshipId
            };
            _informViewModel = new InformViewModel
            {
                ProviderId             = _providerId,
                ApprenticeshipHashedId = _apprenticeshipHashedId,
                ApprenticeshipId       = _apprenticeshipId
            };
            _changeEmployerRequestDetailsViewModel = new ChangeEmployerRequestDetailsViewModel();

            _modelMapper = new Mock <IModelMapper>();
            _modelMapper
            .Setup(x => x.Map <IChangeEmployerViewModel>(_request))
            .ReturnsAsync(_informViewModel);

            ITempDataProvider         tempDataProvider          = Mock.Of <ITempDataProvider>();
            TempDataDictionaryFactory tempDataDictionaryFactory = new TempDataDictionaryFactory(tempDataProvider);
            ITempDataDictionary       tempData = tempDataDictionaryFactory.GetTempData(new DefaultHttpContext());

            _sut = new ApprenticeController(_modelMapper.Object, Mock.Of <ICookieStorageService <IndexRequest> >(), Mock.Of <ICommitmentsApiClient>())
            {
                TempData = tempData
            };
        }
Esempio n. 8
0
        public async Task ThenTheFileContentIsSetCorrectly(
            DownloadRequest request,
            string expectedFileName,
            [Frozen] Mock <HttpContext> httpContext,
            [Frozen] Mock <IModelMapper> csvMapper,
            [Greedy] ApprenticeController controller)
        {
            //Arrange
            var expectedCsvContent = new DownloadViewModel
            {
                Name    = expectedFileName,
                Content = new MemoryStream()
            };

            csvMapper.Setup(x =>
                            x.Map <DownloadViewModel>(request))
            .ReturnsAsync(expectedCsvContent);

            httpContext.Setup(x => x.Response).Returns(new Mock <HttpResponse>().Object);
            controller.ControllerContext = new ControllerContext
            {
                HttpContext = httpContext.Object
            };

            //Act
            var actual = await controller.Download(request);

            var actualFileResult = actual as FileResult;

            //Assert
            Assert.IsNotNull(actualFileResult);
            Assert.AreEqual(expectedCsvContent.Name, actualFileResult.FileDownloadName);
            Assert.AreEqual(actualFileResult.ContentType, actualFileResult.ContentType);
        }
Esempio n. 9
0
        public async Task Then_Will_Used_Current_Search_Details_If_Saved_Details_Not_Available(
            IndexRequest request,
            IndexViewModel expectedViewModel,
            [Frozen] Mock <IModelMapper> apprenticeshipMapper,
            [Frozen] Mock <ICookieStorageService <IndexRequest> > cookieService,
            ApprenticeController controller)
        {
            //Arrange
            request.FromSearch = true;

            apprenticeshipMapper
            .Setup(mapper => mapper.Map <IndexViewModel>(It.IsAny <IndexRequest>()))
            .ReturnsAsync(expectedViewModel);

            cookieService
            .Setup(x => x.Get(CookieNames.ManageApprentices))
            .Returns((IndexRequest)null);

            //Act
            await controller.Index(request);

            //Assert
            apprenticeshipMapper.Verify(mapper => mapper.Map <IndexViewModel>(request));

            cookieService.Verify(x => x.Update(
                                     CookieNames.ManageApprentices, It.IsAny <IndexRequest>(), It.IsAny <int>()), Times.Once);
        }
 public void Arrange()
 {
     _controller = new ApprenticeController(Mock.Of <IModelMapper>(),
                                            Mock.Of <ICookieStorageService <IndexRequest> >(),
                                            Mock.Of <ICommitmentsApiClient>(),
                                            Mock.Of <ILogger <ApprenticeController> >());
 }
 public PostConfirmEmployerFixture()
 {
     _providerId = 123;
     _viewModel  = new ConfirmEmployerViewModel {
         ProviderId = _providerId, EmployerAccountLegalEntityPublicHashedId = "XYZ", ApprenticeshipHashedId = "ABC"
     };
     Sut = new ApprenticeController(Mock.Of <IModelMapper>(), Mock.Of <ICookieStorageService <IndexRequest> >(), Mock.Of <ICommitmentsApiClient>());
 }
        public void Arrange()
        {
            var fixture = new Fixture();

            _routes             = fixture.CreateMany <string>().ToList();
            _standardRepository = new Mock <IStandardsRepository>();
            _standardRepository.Setup(x => x.GetRoutes()).ReturnsAsync(_routes);
            sut = new ApprenticeController(_standardRepository.Object);
        }
 public void Arrange()
 {
     var fixture = new Fixture();
     _request = fixture.Create<UpdateDateLockRequest>();
     _viewModel = fixture.Create<UpdateDateLockViewModel>();
     _modelMapperMock = new Mock<IModelMapper>();
     _modelMapperMock.Setup(x => x.Map<UpdateDateLockViewModel>(_request)).ReturnsAsync(_viewModel);
     _sut = new ApprenticeController(_modelMapperMock.Object, Mock.Of<ICookieStorageService<IndexRequest>>(), Mock.Of<ICommitmentsApiClient>());
 }
        public void Arrange()
        {
            _mockModelMapper          = new Mock <IModelMapper>();
            _mockCookieStorageService = new Mock <ICookieStorageService <IndexRequest> >();
            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();

            _controller = new ApprenticeController(_mockModelMapper.Object,
                                                   _mockCookieStorageService.Object,
                                                   _mockCommitmentsApiClient.Object,
                                                   Mock.Of <ILogger <ApprenticeController> >());
        }
Esempio n. 15
0
        public async Task And_NoApprenticeIsReturnedFromMediator_Then_ReturnNotFound(
            Guid apprenticeId,
            [Frozen] Mock <IMediator> mockMediator,
            [Greedy] ApprenticeController controller)
        {
            mockMediator.Setup(m => m.Send(It.IsAny <GetApprenticeQuery>(), CancellationToken.None))
            .ReturnsAsync((GetApprenticeResult)null);

            var controllerResult = await controller.Get(apprenticeId) as NotFoundResult;

            controllerResult.StatusCode.Should().Be((int)HttpStatusCode.NotFound);
        }
Esempio n. 16
0
        public void Arrange()
        {
            var fixture = new Fixture();

            _newEmployerName = fixture.Create <string>();
            _sut             = new ApprenticeController(Mock.Of <IModelMapper>(), Mock.Of <ICookieStorageService <IndexRequest> >(), Mock.Of <ICommitmentsApiClient>());

            var tempData = new TempDataDictionary(new DefaultHttpContext(), Mock.Of <ITempDataProvider>());

            tempData[nameof(ConfirmViewModel.NewEmployerName)] = _newEmployerName;
            _sut.TempData = tempData;
        }
        public GetChangeOptionFixture()
        {
            var fixture = new Fixture();

            _request   = fixture.Create <ChangeOptionRequest>();
            _viewModel = fixture.Create <ChangeOptionViewModel>();

            _modelMapperMock = new Mock <IModelMapper>();
            _modelMapperMock.Setup(m => m.Map <ChangeOptionViewModel>(_request)).ReturnsAsync(_viewModel);

            Controller = new ApprenticeController(_modelMapperMock.Object, Mock.Of <ICookieStorageService <IndexRequest> >(), Mock.Of <ICommitmentsApiClient>());
        }
Esempio n. 18
0
        public WhenConfirmRequestFixture()
        {
            _fixture = new Fixture();
            ChangeOfEmployerRequest   = _fixture.Build <ConfirmRequest>().With(x => x.StartDate, "042020").Create();
            ChangeOfEmployerViewModel = _fixture.Build <ConfirmViewModel>().With(x => x.NewStartDate, "042020").Create();

            _modelMapperMock = new Mock <IModelMapper>();
            _modelMapperMock.Setup(x => x.Map <ConfirmViewModel>(It.IsAny <ConfirmRequest>()))
            .ReturnsAsync(ChangeOfEmployerViewModel);

            Sut = new ApprenticeController(_modelMapperMock.Object, Mock.Of <ICookieStorageService <IndexRequest> >(), Mock.Of <ICommitmentsApiClient>());
        }
Esempio n. 19
0
        public void Arrange()
        {
            _mockModelMapper          = new Mock <IModelMapper>();
            _mockCookieStorageService = new Mock <ICookieStorageService <IndexRequest> >();
            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();

            _controller = new ApprenticeController(_mockModelMapper.Object,
                                                   _mockCookieStorageService.Object,
                                                   _mockCommitmentsApiClient.Object,
                                                   Mock.Of <ILogger <ApprenticeController> >());
            _controller.TempData = new TempDataDictionary(new Mock <HttpContext>().Object, new Mock <ITempDataProvider>().Object);
        }
Esempio n. 20
0
        public WhenPostingSendRequestNewTrainingProviderTestsFixture()
        {
            var autoFixture = new Fixture();

            _viewModel = autoFixture.Create <SendNewTrainingProviderViewModel>();

            _commitmentsApiClient = new Mock <ICommitmentsApiClient>();

            _controller = new ApprenticeController(Mock.Of <IModelMapper>(),
                                                   Mock.Of <ICookieStorageService <IndexRequest> >(),
                                                   _commitmentsApiClient.Object,
                                                   Mock.Of <ILogger <ApprenticeController> >());
        }
Esempio n. 21
0
        public async Task And_MediatorThrowsException_Then_ReturnBadRequest(
            Guid apprenticeId,
            [Frozen] Mock <IMediator> mockMediator,
            [Greedy] ApprenticeController controller)
        {
            mockMediator
            .Setup(mediator => mediator.Send(
                       It.IsAny <GetApprenticeQuery>(),
                       It.IsAny <CancellationToken>()))
            .Throws <InvalidOperationException>();

            var controllerResult = await controller.Get(apprenticeId) as BadRequestResult;

            controllerResult.StatusCode.Should().Be((int)HttpStatusCode.BadRequest);
        }
        public WhenAddingNewPriceFixture()
        {
            _fixture       = new Fixture();
            PriceRequest   = _fixture.Create <PriceRequest>();
            PriceViewModel = _fixture.Create <PriceViewModel>();
            ConfirmRequest = _fixture.Create <ConfirmRequest>();

            _modelMapperMock = new Mock <IModelMapper>();
            _modelMapperMock.Setup(x => x.Map <PriceViewModel>(It.IsAny <PriceRequest>()))
            .ReturnsAsync(PriceViewModel);
            _modelMapperMock.Setup(x => x.Map <ConfirmRequest>(It.IsAny <PriceViewModel>()))
            .ReturnsAsync(ConfirmRequest);

            Sut = new ApprenticeController(_modelMapperMock.Object, Mock.Of <ICookieStorageService <IndexRequest> >(), Mock.Of <ICommitmentsApiClient>());
        }
        public ApprenticeControllerTestFixtureBase()
        {
            _autoFixture = new Fixture();
            _autoFixture.Customize(new DateCustomisation());
            _mockMapper = new Mock <IModelMapper>();
            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();
            _mockLinkGenerator        = new Mock <ILinkGenerator>();
            _mockUrlHelper            = new Mock <IUrlHelper>();

            _controller = new ApprenticeController(_mockMapper.Object,
                                                   Mock.Of <ICookieStorageService <IndexRequest> >(),
                                                   _mockCommitmentsApiClient.Object);

            _controller.Url = _mockUrlHelper.Object;
        }
        public void Arrange()
        {
            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();
            _mockModelMapper          = new Mock <IModelMapper>();
            response = new EditApprenticeshipResponse {
                NeedReapproval = true
            };

            _mockCommitmentsApiClient.Setup(x => x.EditApprenticeship(It.IsAny <EditApprenticeshipApiRequest>(), It.IsAny <CancellationToken>())).Returns(() => Task.FromResult(response));

            _controller = new ApprenticeController(_mockModelMapper.Object,
                                                   Mock.Of <ICookieStorageService <IndexRequest> >(),
                                                   _mockCommitmentsApiClient.Object,
                                                   Mock.Of <ILogger <ApprenticeController> >());
            _controller.TempData = new TempDataDictionary(new Mock <HttpContext>().Object, new Mock <ITempDataProvider>().Object);
        }
        public void Arrange()
        {
            _mockModelMapper          = new Mock <IModelMapper>();
            _mockCookieStorageService = new Mock <ICookieStorageService <IndexRequest> >();
            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();
            _autoFixture = new Fixture();
            _autoFixture.Customize <EditStopDateViewModel>(c => c.Without(x => x.NewStopDate));
            _viewModel             = _autoFixture.Create <EditStopDateViewModel>();
            _viewModel.NewStopDate = new CommitmentsV2.Shared.Models.MonthYearModel("062020");

            _controller = new ApprenticeController(_mockModelMapper.Object,
                                                   _mockCookieStorageService.Object,
                                                   _mockCommitmentsApiClient.Object,
                                                   Mock.Of <ILogger <ApprenticeController> >());
            _controller.TempData = new TempDataDictionary(new Mock <HttpContext>().Object, new Mock <ITempDataProvider>().Object);
        }
Esempio n. 26
0
        public void Arrange()
        {
            var fixture = new Fixture();

            _viewModel = fixture.Create <ChangeOptionViewModel>();

            _mockModelMapper = new Mock <IModelMapper>();

            _controller = new ApprenticeController(
                _mockModelMapper.Object,
                Mock.Of <ICookieStorageService <IndexRequest> >(),
                Mock.Of <ICommitmentsApiClient>(),
                Mock.Of <ILogger <ApprenticeController> >());

            _controller.TempData = new TempDataDictionary(new Mock <HttpContext>().Object, new Mock <ITempDataProvider>().Object);
        }
        public ApprenticeControllerTestFixtureBase()
        {
            _autoFixture = new Fixture();

            _mockMapper = new Mock <IModelMapper>();
            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();
            _mockLinkGenerator        = new Mock <ILinkGenerator>();
            _mockAuthorizationService = new Mock <IAuthorizationService>();

            _controller = new ApprenticeController(_mockMapper.Object,
                                                   Mock.Of <ICookieStorageService <IndexRequest> >(),
                                                   _mockCommitmentsApiClient.Object,
                                                   _mockLinkGenerator.Object,
                                                   Mock.Of <ILogger <ApprenticeController> >(),
                                                   _mockAuthorizationService.Object);
        }
Esempio n. 28
0
        public WhenCallingChangeProviderRequestedConfirmationPageTestsFixture()
        {
            var autoFixture = new Fixture();

            _request   = autoFixture.Create <ChangeProviderRequestedConfirmationRequest>();
            _viewModel = autoFixture.Create <ChangeProviderRequestedConfirmationViewModel>();

            _mockMapper = new Mock <IModelMapper>();
            _mockMapper.Setup(m => m.Map <ChangeProviderRequestedConfirmationViewModel>(_request))
            .ReturnsAsync(_viewModel);

            _controller = new ApprenticeController(_mockMapper.Object,
                                                   Mock.Of <ICookieStorageService <IndexRequest> >(),
                                                   Mock.Of <ICommitmentsApiClient>(),
                                                   Mock.Of <ILogger <ApprenticeController> >());
        }
Esempio n. 29
0
        public WhenPostingSendRequestNewTrainingProviderTestsFixture()
        {
            var autoFixture = new Fixture();

            _viewModel = autoFixture.Create <SendNewTrainingProviderViewModel>();

            _commitmentsApiClient = new Mock <ICommitmentsApiClient>();
            _linkGenerator        = new Mock <ILinkGenerator>();
            _linkGenerator.Setup(x => x.CommitmentsLink(It.IsAny <string>())).Returns <string>(s => s);

            _controller = new ApprenticeController(Mock.Of <IModelMapper>(),
                                                   Mock.Of <ICookieStorageService <IndexRequest> >(),
                                                   _commitmentsApiClient.Object,
                                                   _linkGenerator.Object,
                                                   Mock.Of <ILogger <ApprenticeController> >(),
                                                   Mock.Of <IAuthorizationService>());
        }
        public GetReviewApprenticeshipUpdatesFixture()
        {
            var fixture = new Fixture();

            _providerId = 123;
            _request    = new ReviewApprenticeshipUpdatesRequest {
                ProviderId = _providerId, ApprenticeshipHashedId = "XYZ"
            };
            _modelMapperMock = new Mock <IModelMapper>();
            _viewModel       = fixture.Create <ReviewApprenticeshipUpdatesViewModel>();

            _modelMapperMock
            .Setup(x => x.Map <ReviewApprenticeshipUpdatesViewModel>(_request))
            .ReturnsAsync(_viewModel);

            Sut = new ApprenticeController(_modelMapperMock.Object, Mock.Of <ICookieStorageService <IndexRequest> >(), Mock.Of <ICommitmentsApiClient>());
        }