Exemplo n.º 1
0
        public async Task Then_Gets_Filter_Values_From_Api(
            IndexRequest webRequest,
            long decodedAccountId,
            [Frozen] Mock <IEncodingService> mockEncodingService,
            GetApprenticeshipsResponse clientResponse,
            [Frozen] Mock <ICommitmentsApiClient> mockApiClient,
            IndexViewModelMapper mapper)
        {
            clientResponse.TotalApprenticeships =
                Constants.ApprenticesSearch.NumberOfApprenticesRequiredForSearch + 1;
            mockApiClient
            .Setup(client => client.GetApprenticeships(
                       It.IsAny <ApiRequests.GetApprenticeshipsRequest>(),
                       It.IsAny <CancellationToken>()))
            .ReturnsAsync(clientResponse);
            mockEncodingService
            .Setup(service => service.Decode(webRequest.AccountHashedId, EncodingType.AccountId))
            .Returns(decodedAccountId);

            await mapper.Map(webRequest);

            mockApiClient.Verify(client => client.GetApprenticeshipsFilterValues(
                                     It.Is <ApiRequests.GetApprenticeshipFiltersRequest>(request => request.EmployerAccountId == decodedAccountId),
                                     It.IsAny <CancellationToken>()),
                                 Times.Once);
        }
Exemplo n.º 2
0
        public ActionResult Index()
        {
            var busses    = _busRepository.GetAll();
            var viewModel = IndexViewModelMapper.Map(busses, DateTime.Today);

            return(View(viewModel));
        }
Exemplo n.º 3
0
        public async Task Should_Pass_Params_To_Api_Call(
            IndexRequest webRequest,
            long decodedAccountId,
            [Frozen] Mock <IEncodingService> mockEncodingService,
            [Frozen] Mock <ICommitmentsApiClient> mockApiClient,
            IndexViewModelMapper mapper)
        {
            mockEncodingService
            .Setup(service => service.Decode(webRequest.AccountHashedId, EncodingType.AccountId))
            .Returns(decodedAccountId);

            await mapper.Map(webRequest);

            mockApiClient.Verify(client => client.GetApprenticeships(It.Is <ApiRequests.GetApprenticeshipsRequest>(apiRequest =>
                                                                                                                   apiRequest.AccountId == decodedAccountId &&
                                                                                                                   apiRequest.PageNumber == webRequest.PageNumber &&
                                                                                                                   apiRequest.PageItemCount == Constants.ApprenticesSearch.NumberOfApprenticesPerSearchPage &&
                                                                                                                   apiRequest.SearchTerm == webRequest.SearchTerm &&
                                                                                                                   apiRequest.ProviderName == webRequest.SelectedProvider &&
                                                                                                                   apiRequest.CourseName == webRequest.SelectedCourse &&
                                                                                                                   apiRequest.Status == webRequest.SelectedStatus &&
                                                                                                                   apiRequest.ApprenticeConfirmationStatus == webRequest.SelectedApprenticeConfirmation &&
                                                                                                                   apiRequest.EndDate == webRequest.SelectedEndDate),
                                                                     It.IsAny <CancellationToken>()),
                                 Times.Once);
        }
        public async Task Then_Maps_EmployerAccountLegalEntityPublicHashedId(
            IndexRequest request,
            IndexViewModelMapper mapper)
        {
            var viewModel = await mapper.Map(request);

            viewModel.AccountLegalEntityHashedId.Should().Be(request.AccountLegalEntityHashedId);
        }
Exemplo n.º 5
0
        public PartialViewResult DisplayFrom(int startYear, int startMonth, int startDay)
        {
            var busses    = _busRepository.GetAll();
            var startDate = new DateTime(startYear, startMonth, startDay);
            var viewModel = IndexViewModelMapper.Map(busses, startDate);

            return(PartialView("_IndexCalendar", viewModel));
        }
        public async Task Then_Maps_CourseCode(
            IndexRequest request,
            IndexViewModelMapper mapper)
        {
            var viewModel = await mapper.Map(request);

            viewModel.CourseCode.Should().Be(request.CourseCode);
        }
        public async Task Then_Maps_StartMonthYear(
            IndexRequest request,
            IndexViewModelMapper mapper)
        {
            var viewModel = await mapper.Map(request);

            viewModel.StartMonthYear.Should().Be(request.StartMonthYear);
        }
        public async Task Then_Maps_ReservationId(
            IndexRequest request,
            IndexViewModelMapper mapper)
        {
            var viewModel = await mapper.Map(request);

            viewModel.ReservationId.Should().Be(request.ReservationId);
        }
        public async Task Then_Maps_AccountHashedId(
            IndexRequest request,
            IndexViewModelMapper mapper)
        {
            var viewModel = await mapper.Map(request);

            viewModel.AccountHashedId.Should().Be(request.AccountHashedId);
        }
Exemplo n.º 10
0
            public IndexViewModelMapperTestsFixture()
            {
                var autoFixture = new Fixture();

                _apiClient = new Mock <ICommitmentsApiClient>();
                _logger    = new Mock <ILogger <IndexViewModelMapper> >();

                _mapper  = new IndexViewModelMapper(_apiClient.Object, _logger.Object);
                _request = autoFixture.Create <IndexRequest>();
            }
        public async Task ShouldMapApiValues(
            IndexRequest request,
            GetApprenticeshipsResponse apprenticeshipsResponse,
            GetApprenticeshipsFilterValuesResponse filtersResponse,
            ApprenticeshipDetailsViewModel expectedViewModel,
            [Frozen] Mock <IModelMapper> modelMapper,
            [Frozen] Mock <ICommitmentsApiClient> mockApiClient,
            IndexViewModelMapper mapper)
        {
            //Arrange
            apprenticeshipsResponse.TotalApprenticeships =
                Constants.ApprenticesSearch.NumberOfApprenticesRequiredForSearch + 1;

            mockApiClient
            .Setup(x => x.GetApprenticeships(
                       It.IsAny <ApiRequests.GetApprenticeshipsRequest>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(apprenticeshipsResponse);

            mockApiClient
            .Setup(client => client.GetApprenticeshipsFilterValues(
                       It.IsAny <ApiRequests.GetApprenticeshipFiltersRequest>(),
                       It.IsAny <CancellationToken>()))
            .ReturnsAsync(filtersResponse);

            modelMapper
            .Setup(x => x.Map <ApprenticeshipDetailsViewModel>(It.IsAny <GetApprenticeshipsResponse.ApprenticeshipDetailsResponse>()))
            .ReturnsAsync(expectedViewModel);

            //Act
            var viewModel = await mapper.Map(request);

            //Assert
            Assert.IsNotNull(viewModel);
            Assert.AreEqual(request.ProviderId, viewModel.ProviderId);
            viewModel.Apprenticeships.Should().AllBeEquivalentTo(expectedViewModel);
            Assert.AreEqual(apprenticeshipsResponse.TotalApprenticeshipsFound, viewModel.FilterModel.TotalNumberOfApprenticeshipsFound);
            Assert.AreEqual(apprenticeshipsResponse.TotalApprenticeshipsWithAlertsFound, viewModel.FilterModel.TotalNumberOfApprenticeshipsWithAlertsFound);
            Assert.AreEqual(apprenticeshipsResponse.TotalApprenticeships, viewModel.FilterModel.TotalNumberOfApprenticeships);
            Assert.AreEqual(apprenticeshipsResponse.PageNumber, viewModel.FilterModel.PageNumber);
            Assert.AreEqual(request.ReverseSort, viewModel.FilterModel.ReverseSort);
            Assert.AreEqual(request.SortField, viewModel.FilterModel.SortField);
            Assert.AreEqual(filtersResponse.EmployerNames, viewModel.FilterModel.EmployerFilters);
            Assert.AreEqual(filtersResponse.CourseNames, viewModel.FilterModel.CourseFilters);
            Assert.AreEqual(filtersResponse.StartDates, viewModel.FilterModel.StartDateFilters);
            Assert.AreEqual(filtersResponse.EndDates, viewModel.FilterModel.EndDateFilters);
            Assert.AreEqual(request.SearchTerm, viewModel.FilterModel.SearchTerm);
            Assert.AreEqual(request.SelectedEmployer, viewModel.FilterModel.SelectedEmployer);
            Assert.AreEqual(request.SelectedCourse, viewModel.FilterModel.SelectedCourse);
            Assert.AreEqual(request.SelectedStatus, viewModel.FilterModel.SelectedStatus);
            Assert.AreEqual(request.SelectedStartDate, viewModel.FilterModel.SelectedStartDate);
            Assert.AreEqual(request.SelectedEndDate, viewModel.FilterModel.SelectedEndDate);
            Assert.AreEqual(request.SelectedApprenticeConfirmation, viewModel.FilterModel.SelectedApprenticeConfirmation);
        }
Exemplo n.º 12
0
        public async Task Then_Defaults_To_Page_One(
            [Frozen] Mock <ICommitmentsApiClient> mockApiClient,
            IndexViewModelMapper mapper)
        {
            var request = new IndexRequest();

            await mapper.Map(request);

            mockApiClient.Verify(client => client.GetApprenticeships(It.Is <ApiRequests.GetApprenticeshipsRequest>(apiRequest =>
                                                                                                                   apiRequest.PageNumber == 1 &&
                                                                                                                   apiRequest.PageItemCount == Constants.ApprenticesSearch.NumberOfApprenticesPerSearchPage),
                                                                     It.IsAny <CancellationToken>()),
                                 Times.Once);
        }
Exemplo n.º 13
0
        public IActionResult Index(IndexViewModel indexViewModel)
        {
            if (this.ModelState.IsValid)
            {
                Order order = new IndexViewModelMapper(this).Map(indexViewModel);

                this.Storage.GetRepository <IOrderRepository>().Create(order);
                this.Storage.Save();
                new CartManager(this).AssignTo(order);
                Event <IOrderCreatedEventHandler, IRequestHandler, Order> .Broadcast(this, order);

                return(this.Redirect(GlobalizedUrlFormatter.Format(this, "/ecommerce/checkout/done?orderid=" + order.Id)));
            }

            return(this.View(indexViewModel));
        }
Exemplo n.º 14
0
        public async Task Should_Pass_Params_To_Api_Call(
            IndexRequest webRequest,
            [Frozen] Mock <ICommitmentsApiClient> mockApiClient,
            IndexViewModelMapper mapper)
        {
            await mapper.Map(webRequest);

            mockApiClient.Verify(client => client.GetApprenticeships(It.Is <ApiRequests.GetApprenticeshipsRequest>(apiRequest =>
                                                                                                                   apiRequest.ProviderId == webRequest.ProviderId &&
                                                                                                                   apiRequest.PageNumber == webRequest.PageNumber &&
                                                                                                                   apiRequest.PageItemCount == Constants.ApprenticesSearch.NumberOfApprenticesPerSearchPage &&
                                                                                                                   apiRequest.SearchTerm == webRequest.SearchTerm &&
                                                                                                                   apiRequest.EmployerName == webRequest.SelectedEmployer &&
                                                                                                                   apiRequest.CourseName == webRequest.SelectedCourse &&
                                                                                                                   apiRequest.Status == webRequest.SelectedStatus &&
                                                                                                                   apiRequest.StartDate == webRequest.SelectedStartDate &&
                                                                                                                   apiRequest.EndDate == webRequest.SelectedEndDate),
                                                                     It.IsAny <CancellationToken>()),
                                 Times.Once);
        }
Exemplo n.º 15
0
        public async Task And_TotalApprentices_Less_Than_NumberOfApprenticesRequiredForSearch_Then_Not_Get_Filter_Values_From_Api(
            IndexRequest webRequest,
            GetApprenticeshipsResponse clientResponse,
            [Frozen] Mock <ICommitmentsApiClient> mockApiClient,
            IndexViewModelMapper mapper)
        {
            clientResponse.TotalApprenticeships = Constants.ApprenticesSearch.NumberOfApprenticesRequiredForSearch - 1;

            mockApiClient
            .Setup(client => client.GetApprenticeships(
                       It.IsAny <ApiRequests.GetApprenticeshipsRequest>(),
                       It.IsAny <CancellationToken>()))
            .ReturnsAsync(clientResponse);

            await mapper.Map(webRequest);

            mockApiClient.Verify(client => client.GetApprenticeshipsFilterValues(
                                     It.IsAny <ApiRequests.GetApprenticeshipFiltersRequest>(),
                                     It.IsAny <CancellationToken>()),
                                 Times.Never);
        }
Exemplo n.º 16
0
        public async Task ShouldMapStatusValues(
            IndexRequest request,
            GetApprenticeshipsResponse apprenticeshipsResponse,
            GetApprenticeshipsFilterValuesResponse filtersResponse,
            ApprenticeshipDetailsViewModel expectedViewModel,
            [Frozen]
            Mock <IMapper <GetApprenticeshipsResponse.ApprenticeshipDetailsResponse, ApprenticeshipDetailsViewModel> >
            detailsViewModelMapper,
            [Frozen] Mock <ICommitmentsApiClient> mockApiClient,
            IndexViewModelMapper mapper)
        {
            //Arrange
            apprenticeshipsResponse.TotalApprenticeships =
                Constants.ApprenticesSearch.NumberOfApprenticesRequiredForSearch + 1;

            mockApiClient
            .Setup(x => x.GetApprenticeships(
                       It.IsAny <ApiRequests.GetApprenticeshipsRequest>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(apprenticeshipsResponse);

            mockApiClient
            .Setup(client => client.GetApprenticeshipsFilterValues(
                       It.IsAny <ApiRequests.GetApprenticeshipFiltersRequest>(),
                       It.IsAny <CancellationToken>()))
            .ReturnsAsync(filtersResponse);

            detailsViewModelMapper
            .Setup(x => x.Map(It.IsAny <GetApprenticeshipsResponse.ApprenticeshipDetailsResponse>()))
            .ReturnsAsync(expectedViewModel);

            //Act
            var viewModel = await mapper.Map(request);

            Assert.IsTrue(viewModel.FilterModel.StatusFilters.Contains(ApprenticeshipStatus.Live));
            Assert.IsTrue(viewModel.FilterModel.StatusFilters.Contains(ApprenticeshipStatus.Paused));
            Assert.IsTrue(viewModel.FilterModel.StatusFilters.Contains(ApprenticeshipStatus.Stopped));
            Assert.IsTrue(viewModel.FilterModel.StatusFilters.Contains(ApprenticeshipStatus.WaitingToStart));
            Assert.IsTrue(viewModel.FilterModel.StatusFilters.Contains(ApprenticeshipStatus.Completed));
            Assert.IsFalse(viewModel.FilterModel.StatusFilters.Contains(ApprenticeshipStatus.Unknown));
        }
Exemplo n.º 17
0
        public async Task ThenWillSetPageNumberToLastOneIfRequestPageNumberIsTooHigh(
            IndexRequest request,
            GetApprenticeshipsResponse apprenticeshipsResponse,
            GetApprenticeshipsFilterValuesResponse filtersResponse,
            ApprenticeshipDetailsViewModel expectedViewModel,
            [Frozen]
            Mock <IMapper <GetApprenticeshipsResponse.ApprenticeshipDetailsResponse, ApprenticeshipDetailsViewModel> >
            detailsViewModelMapper,
            [Frozen] Mock <ICommitmentsApiClient> mockApiClient,
            IndexViewModelMapper mapper)
        {
            //Arrange
            apprenticeshipsResponse.PageNumber = (int)Math.Ceiling((double)apprenticeshipsResponse.TotalApprenticeshipsFound / Constants.ApprenticesSearch.NumberOfApprenticesPerSearchPage);
            request.PageNumber = apprenticeshipsResponse.PageNumber + 10;

            apprenticeshipsResponse.TotalApprenticeships =
                Constants.ApprenticesSearch.NumberOfApprenticesRequiredForSearch + 1;

            mockApiClient
            .Setup(x => x.GetApprenticeships(
                       It.IsAny <ApiRequests.GetApprenticeshipsRequest>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(apprenticeshipsResponse);

            mockApiClient
            .Setup(client => client.GetApprenticeshipsFilterValues(
                       It.IsAny <ApiRequests.GetApprenticeshipFiltersRequest>(),
                       It.IsAny <CancellationToken>()))
            .ReturnsAsync(filtersResponse);

            detailsViewModelMapper
            .Setup(x => x.Map(It.IsAny <GetApprenticeshipsResponse.ApprenticeshipDetailsResponse>()))
            .ReturnsAsync(expectedViewModel);

            //Act
            var viewModel = await mapper.Map(request);

            //Assert
            Assert.AreEqual(1, viewModel.FilterModel.PageLinks.Count(x => x.IsCurrent.HasValue && x.IsCurrent.Value));
            Assert.IsTrue(viewModel.FilterModel.PageLinks.Last().IsCurrent);
        }
Exemplo n.º 18
0
        public async Task ThenWillSetPageNumberToLastOneIfRequestPageNumberIsTooHigh(
            IndexRequest webRequest,
            GetApprenticeshipsResponse clientResponse,
            [Frozen] Mock <ICommitmentsApiClient> mockApiClient,
            IndexViewModelMapper mapper)
        {
            clientResponse.PageNumber = (int)Math.Ceiling((double)clientResponse.TotalApprenticeshipsFound / Constants.ApprenticesSearch.NumberOfApprenticesPerSearchPage);
            webRequest.PageNumber     = clientResponse.PageNumber + 10;

            clientResponse.TotalApprenticeships = Constants.ApprenticesSearch.NumberOfApprenticesRequiredForSearch - 1;

            mockApiClient
            .Setup(client => client.GetApprenticeships(
                       It.IsAny <ApiRequests.GetApprenticeshipsRequest>(),
                       It.IsAny <CancellationToken>()))
            .ReturnsAsync(clientResponse);

            var result = await mapper.Map(webRequest);

            Assert.AreEqual(1, result.FilterModel.PageLinks.Count(x => x.IsCurrent.HasValue && x.IsCurrent.Value));

            Assert.IsTrue(result.FilterModel.PageLinks.Last().IsCurrent);
        }