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 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); }