public EditApprenticeshipRequestToViewModelMapperTestsFixture()
        {
            //Arrange
            var autoFixture = new Fixture();

            _request = autoFixture.Build <EditApprenticeshipRequest>()
                       //.With(x => x.ProviderId, 123)
                       .With(x => x.ProviderId, 123)
                       .With(x => x.ApprenticeshipHashedId, "456")
                       .Create();
            ApprenticeshipResponse = autoFixture.Build <GetApprenticeshipResponse>()
                                     .With(x => x.CourseCode, "ABC")
                                     .With(x => x.DateOfBirth, autoFixture.Create <DateTime>())
                                     .Create();
            _priceEpisodesResponse = autoFixture.Build <GetPriceEpisodesResponse>()
                                     .With(x => x.PriceEpisodes, new List <PriceEpisode> {
                new PriceEpisode {
                    Cost = 1000, ToDate = DateTime.Now.AddMonths(-1)
                }
            })
                                     .Create();

            _cohortResponse  = autoFixture.Create <GetCohortResponse>();
            _accountResponse = autoFixture.Create <AccountResponse>();
            _allTrainingProgrammeStandardsResponse = autoFixture.Create <GetAllTrainingProgrammeStandardsResponse>();
            _allTrainingProgrammeResponse          = autoFixture.Create <GetAllTrainingProgrammesResponse>();

            _trainingProgrammeResponse = autoFixture.Build <GetTrainingProgrammeResponse>().Create();

            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();
            _mockCommitmentsApiClient.Setup(r => r.GetApprenticeship(It.IsAny <long>(), CancellationToken.None))
            .ReturnsAsync(ApprenticeshipResponse);
            _mockCommitmentsApiClient.Setup(c => c.GetPriceEpisodes(It.IsAny <long>(), CancellationToken.None))
            .ReturnsAsync(_priceEpisodesResponse);

            _mockCommitmentsApiClient.Setup(t => t.GetTrainingProgramme(ApprenticeshipResponse.CourseCode, It.IsAny <CancellationToken>()))
            .ReturnsAsync(_trainingProgrammeResponse);

            _mockCommitmentsApiClient.Setup(t => t.GetCohort(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(() => _cohortResponse);

            _mockCommitmentsApiClient.Setup(t => t.GetAccount(ApprenticeshipResponse.EmployerAccountId, It.IsAny <CancellationToken>()))
            .ReturnsAsync(() => _accountResponse);

            _mockCommitmentsApiClient.Setup(t => t.GetAllTrainingProgrammeStandards(It.IsAny <CancellationToken>()))
            .ReturnsAsync(() => {
                _courses = _allTrainingProgrammeStandardsResponse.TrainingProgrammes;
                return(_allTrainingProgrammeStandardsResponse);
            });

            _mockCommitmentsApiClient.Setup(t => t.GetAllTrainingProgrammes(It.IsAny <CancellationToken>()))
            .ReturnsAsync(() => {
                _courses = _allTrainingProgrammeResponse.TrainingProgrammes;
                return(_allTrainingProgrammeResponse);
            });

            _mockAcademicYearDateProvider = new Mock <IAcademicYearDateProvider>();

            _mockCurrentDateTimeProvider = new Mock <ICurrentDateTime>();

            _mapper = new EditApprenticeshipRequestToViewModelMapper(_mockCommitmentsApiClient.Object, _mockAcademicYearDateProvider.Object, _mockCurrentDateTimeProvider.Object);
        }
Exemplo n.º 2
0
        public void Arrange()
        {
            _fixture = new Fixture();

            _viewModel = _fixture.Create <ChangeOptionViewModel>();

            var baseDate = DateTime.Now;

            var startDate   = baseDate;
            var endDate     = baseDate.AddYears(2);
            var dateOfBirth = baseDate.AddYears(-18);

            _getApprenticeshipResponse = _fixture.Build <GetApprenticeshipResponse>()
                                         .With(x => x.StartDate, startDate)
                                         .With(x => x.EndDate, endDate)
                                         .With(x => x.DateOfBirth, dateOfBirth)
                                         .Create();

            _editViewModel = _fixture.Build <EditApprenticeshipRequestViewModel>()
                             .With(x => x.CourseCode, _getApprenticeshipResponse.CourseCode)
                             .With(x => x.Version, _getApprenticeshipResponse.Version)
                             .With(x => x.StartDate, new MonthYearModel(startDate.ToString("MMyyyy")))
                             .With(x => x.EndDate, new MonthYearModel(endDate.ToString("MMyyyy")))
                             .With(x => x.DateOfBirth, new MonthYearModel(dateOfBirth.ToString("MMyyyy")))
                             .Create();

            var priceEpisode = _fixture.Build <PriceEpisode>()
                               .With(x => x.ApprenticeshipId, _getApprenticeshipResponse.Id)
                               .With(x => x.FromDate, _getApprenticeshipResponse.StartDate.AddDays(-1))
                               .Without(x => x.ToDate)
                               .Create();

            _getPriceEpisodesResponse = _fixture.Build <GetPriceEpisodesResponse>()
                                        .With(x => x.PriceEpisodes, new List <PriceEpisode> {
                priceEpisode
            })
                                        .Create();

            var trainingProgramme = _fixture.Build <TrainingProgramme>().With(x => x.Name, _getApprenticeshipResponse.CourseName).Create();

            _getVersionResponse = new GetTrainingProgrammeResponse {
                TrainingProgramme = trainingProgramme
            };

            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();

            _mockCommitmentsApiClient.Setup(c => c.GetApprenticeship(_viewModel.ApprenticeshipId, It.IsAny <CancellationToken>()))
            .ReturnsAsync(_getApprenticeshipResponse);

            _mockCommitmentsApiClient.Setup(c => c.GetPriceEpisodes(_viewModel.ApprenticeshipId, It.IsAny <CancellationToken>()))
            .ReturnsAsync(_getPriceEpisodesResponse);

            _mockCommitmentsApiClient.Setup(c => c.GetTrainingProgrammeVersionByCourseCodeAndVersion(_getApprenticeshipResponse.CourseCode, _getApprenticeshipResponse.Version, It.IsAny <CancellationToken>()))
            .ReturnsAsync(_getVersionResponse);

            _mockTempDataDictionary = new Mock <ITempDataDictionary>();

            _mockTempDataFactory = new Mock <ITempDataDictionaryFactory>();
            _mockTempDataFactory.Setup(f => f.GetTempData(It.IsAny <HttpContext>()))
            .Returns(_mockTempDataDictionary.Object);

            _mapper = new ChangeOptionViewModelToEditApprenticeshipRequestViewModelMapper(
                _mockCommitmentsApiClient.Object,
                Mock.Of <IHttpContextAccessor>(),
                _mockTempDataFactory.Object);
        }
Exemplo n.º 3
0
        public void Arrange()
        {
            _fixture = new Fixture();

            _updateDataLockRequest      = _fixture.Create <UpdateDateLockRequest>();
            _dataLocksWithPriceMismatch = new List <DataLock>
            {
                new DataLock
                {
                    IsResolved           = false,
                    DataLockStatus       = Status.Fail,
                    ErrorCode            = DataLockErrorCode.Dlock07,
                    IlrEffectiveFromDate = DateTime.Now.Date.AddDays(7),
                    ApprenticeshipId     = 123,
                    IlrTotalCost         = 1500.00M
                }
            };

            _dataLocksWithCourseMismatch = new List <DataLock>
            {
                new DataLock
                {
                    IsResolved            = false,
                    DataLockStatus        = Status.Fail,
                    ErrorCode             = DataLockErrorCode.Dlock04,
                    IlrTrainingCourseCode = "548",
                    IlrEffectiveFromDate  = DateTime.Now.Date.AddDays(15)
                }
            };

            _dataLockSummariesResponse = _fixture.Build <GetDataLockSummariesResponse>()
                                         .With(x => x.DataLocksWithCourseMismatch, _dataLocksWithCourseMismatch)
                                         .With(x => x.DataLocksWithOnlyPriceMismatch, _dataLocksWithPriceMismatch)
                                         .Create();

            _apprenticeshipResponse = _fixture.Build <GetApprenticeshipResponse>()
                                      .With(p => p.CourseCode, "548")
                                      .With(p => p.CourseName, "DevOps engineer")
                                      .With(p => p.HasHadDataLockSuccess, false)
                                      .With(p => p.EndDate, DateTime.Now.Date.AddDays(100))
                                      .Create();

            _trainingProgrammes = new List <TrainingProgramme>
            {
                new TrainingProgramme {
                    CourseCode = "548", ProgrammeType = ProgrammeType.Standard, Name = "DevOps engineer"
                }
            };
            _allTrainingProgrammesResponse = _fixture.Build <GetAllTrainingProgrammesResponse>().With(x => x.TrainingProgrammes, _trainingProgrammes).Create();

            _priceEpisodes = new List <PriceEpisode>
            {
                new PriceEpisode {
                    FromDate = DateTime.Now.Date, ToDate = null, Cost = 1000.0M
                }
            };
            _priceEpisodesResponse = _fixture.Build <GetPriceEpisodesResponse>()
                                     .With(x => x.PriceEpisodes, _priceEpisodes)
                                     .Create();

            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();
            _mockCommitmentsApiClient.Setup(m => m.GetApprenticeshipDatalockSummariesStatus(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(_dataLockSummariesResponse);
            _mockCommitmentsApiClient.Setup(m => m.GetApprenticeship(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(_apprenticeshipResponse);
            _mockCommitmentsApiClient.Setup(m => m.GetAllTrainingProgrammes(It.IsAny <CancellationToken>()))
            .ReturnsAsync(_allTrainingProgrammesResponse);
            _mockCommitmentsApiClient.Setup(m => m.GetPriceEpisodes(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(_priceEpisodesResponse);

            _mapper = new UpdateDataLockRequestViewModelMapper(_mockCommitmentsApiClient.Object);
        }