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); }
public ActionResult Index() { var busses = _busRepository.GetAll(); var viewModel = IndexViewModelMapper.Map(busses, DateTime.Today); return(View(viewModel)); }
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); }
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); }
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); }
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); }
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)); }
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); }
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); }
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)); }
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); }
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); }