示例#1
0
        public void Init()
        {
            _fixture       = new Fixture();
            _priceEpisodes = new List <PriceEpisode>
            {
                new PriceEpisode {
                    ApprenticeshipId = 123, FromDate = DateTime.Now.Date, ToDate = null, Cost = 1000.0M
                }
            };
            _priceEpisodesResponse = _fixture.Build <GetPriceEpisodesResponse>()
                                     .With(x => x.PriceEpisodes, _priceEpisodes)
                                     .Create();

            List <TrainingProgramme> TrainingProgrammes = new List <TrainingProgramme>
            {
                new TrainingProgramme {
                    Name = "Software engineer", CourseCode = "548", ProgrammeType = ProgrammeType.Standard
                }
            };

            _allTrainingProgrammeResponse = _fixture.Build <GetAllTrainingProgrammesResponse>()
                                            .With(x => x.TrainingProgrammes, TrainingProgrammes)
                                            .Create();

            _apprenticeshipResponse = _fixture.Build <GetApprenticeshipResponse>()
                                      .With(p => p.CourseCode, "548")
                                      .With(p => p.CourseName, "DevOps engineer")
                                      .With(p => p.EndDate, DateTime.Now.Date.AddDays(360))
                                      .With(p => p.HasHadDataLockSuccess, false)
                                      .Create();
        }
        public void Arrange()
        {
            var _autoFixture = new Fixture();

            _confirmDataLockChangesRequest = _autoFixture.Create <ConfirmDataLockChangesRequest>();

            DataLocksWithCourseMismatch = new List <DataLock>
            {
                new DataLock
                {
                    IsResolved            = false,
                    DataLockStatus        = Status.Fail,
                    ErrorCode             = DataLockErrorCode.Dlock04,
                    IlrTrainingCourseCode = "454-3-1",
                    IlrEffectiveFromDate  = DateTime.Now.Date.AddDays(15)
                }
            };
            _getDataLockSummariesResponse = _autoFixture.Build <GetDataLockSummariesResponse>().With(x => x.DataLocksWithCourseMismatch, DataLocksWithCourseMismatch).Create();

            _getApprenticeshipResponse = _autoFixture.Build <GetApprenticeshipResponse>()
                                         .With(p => p.CourseCode, "111")
                                         .With(p => p.CourseName, "Training 111")
                                         .With(p => p.EndDate, DateTime.Now.Date.AddDays(100))
                                         .Create();


            TrainingProgrammes = new List <TrainingProgramme>
            {
                new TrainingProgramme {
                    CourseCode = "454-3-1", ProgrammeType = ProgrammeType.Standard, Name = "Training 111"
                }
            };
            _getAllTrainingProgrammesResponse = _autoFixture.Build <GetAllTrainingProgrammesResponse>().With(x => x.TrainingProgrammes, TrainingProgrammes).Create();

            PriceEpisodes.Add(new PriceEpisode {
                FromDate = DateTime.Now.Date, ToDate = null, Cost = 1000.0M
            });
            _getPriceEpisodesResponse = _autoFixture.Build <GetPriceEpisodesResponse>()
                                        .With(x => x.PriceEpisodes, PriceEpisodes)
                                        .Create();


            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();
            _mockCommitmentsApiClient.Setup(m => m.GetApprenticeshipDatalockSummariesStatus(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(_getDataLockSummariesResponse);
            _mockCommitmentsApiClient.Setup(m => m.GetApprenticeship(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(_getApprenticeshipResponse);
            _mockCommitmentsApiClient.Setup(m => m.GetAllTrainingProgrammes(It.IsAny <CancellationToken>()))
            .ReturnsAsync(_getAllTrainingProgrammesResponse);
            _mockCommitmentsApiClient.Setup(m => m.GetPriceEpisodes(It.IsAny <long>(), It.IsAny <CancellationToken>()))
            .ReturnsAsync(_getPriceEpisodesResponse);

            _mapper = new ConfirmDataLockChangesViewModelMapper(_mockCommitmentsApiClient.Object);
        }
示例#3
0
        public DataLockRequestChangesRequestToViewModelMapperTestsFixture()
        {
            // Arrange
            AutoFixture = new Fixture();
            _request    = AutoFixture.Build <DataLockRequestChangesRequest>()
                          .With(x => x.AccountHashedId, "123")
                          .With(x => x.ApprenticeshipHashedId, "456")
                          .Create();

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

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

            TrainingProgrammes.Add(new TrainingProgramme {
                CourseCode = "111", ProgrammeType = ProgrammeType.Standard, Name = "Training 111"
            });
            _allTrainingProgrammeResponse = AutoFixture.Build <GetAllTrainingProgrammesResponse>()
                                            .With(x => x.TrainingProgrammes, TrainingProgrammes)
                                            .Create();

            _apprenticeshipResponse = AutoFixture.Build <GetApprenticeshipResponse>()
                                      .With(p => p.CourseCode, "111")
                                      .With(p => p.CourseName, "Training 111")
                                      .With(p => p.EndDate, DateTime.Now.Date.AddDays(100))
                                      .Create();

            _mockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();

            _mockCommitmentsApiClient.Setup(r => r.GetApprenticeshipDatalockSummariesStatus(It.IsAny <long>(), CancellationToken.None))
            .ReturnsAsync(_dataLockSummariesResponse);

            _mockCommitmentsApiClient.Setup(c => c.GetPriceEpisodes(It.IsAny <long>(), CancellationToken.None))
            .ReturnsAsync(_priceEpisodesResponse);

            _mockCommitmentsApiClient.Setup(c => c.GetApprenticeship(It.IsAny <long>(), CancellationToken.None))
            .ReturnsAsync(_apprenticeshipResponse);

            _mockCommitmentsApiClient.Setup(t => t.GetAllTrainingProgrammes(It.IsAny <CancellationToken>()))
            .ReturnsAsync(_allTrainingProgrammeResponse);

            _mapper = new DataLockRequestChangesRequestToViewModelMapper(_mockCommitmentsApiClient.Object);
        }
示例#4
0
        public DataLockRequestChangesRequestToViewModelMapperTestsFixture WithTrainingProgramme(string courseCode, ProgrammeType programmeType, string name)
        {
            TrainingProgrammes.Add(
                new TrainingProgramme {
                CourseCode = courseCode, ProgrammeType = programmeType, Name = name
            });

            _allTrainingProgrammeResponse = AutoFixture.Build <GetAllTrainingProgrammesResponse>()
                                            .With(x => x.TrainingProgrammes, TrainingProgrammes)
                                            .Create();

            _mockCommitmentsApiClient.Setup(t => t.GetAllTrainingProgrammes(It.IsAny <CancellationToken>()))
            .ReturnsAsync(_allTrainingProgrammeResponse);

            return(this);
        }
示例#5
0
        public async Task GetAllTrainingProgrammes()
        {
            var request  = new TestRequest(new Uri(ExpectedApiBaseUrl + $"api/trainingprogramme/all"), string.Empty);
            var response = new GetAllTrainingProgrammesResponse
            {
                TrainingProgrammes = new List <TrainingProgramme>()
            };
            var content = JsonConvert.SerializeObject(response);

            _fakeHandler.AddFakeResponse(request, new HttpResponseMessage {
                StatusCode = HttpStatusCode.OK, Content = new StringContent(content)
            });

            var actual = (await _trainingProgrammeApi.GetAll());

            actual.ShouldBeEquivalentTo(response);
        }
示例#6
0
        public EditApprenticeshipRequestToViewModelMapperTestsFixture()
        {
            //Arrange
            var autoFixture = new Fixture();

            _request = autoFixture.Build <EditApprenticeshipRequest>()
                       .With(x => x.AccountHashedId, "123")
                       .With(x => x.ApprenticeshipHashedId, "456")
                       .Create();
            ApprenticeshipResponse = autoFixture.Build <GetApprenticeshipResponse>()
                                     .With(x => x.CourseCode, "ABC")
                                     .With(x => x.Version, "1.0")
                                     .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(_request.AccountId, 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);
        }
        public static UpdateDateLockSummaryViewModel MapDataLockSummary(this GetDataLockSummariesResponse dataLockSummaries, GetAllTrainingProgrammesResponse trainingProgrammes)
        {
            var result = new UpdateDateLockSummaryViewModel
            {
                DataLockWithCourseMismatch = new List <DataLockViewModel>(),
            };

            foreach (var dataLock in dataLockSummaries.DataLocksWithCourseMismatch)
            {
                var training = trainingProgrammes.TrainingProgrammes.SingleOrDefault(x => x.CourseCode == dataLock.IlrTrainingCourseCode);
                if (training == null)
                {
                    throw new InvalidOperationException(
                              $"Datalock {dataLock.Id} IlrTrainingCourseCode {dataLock.IlrTrainingCourseCode} not found; possible expiry");
                }
                result.DataLockWithCourseMismatch.Add(MapDataLockStatus(dataLock, training));
            }

            return(result);
        }
示例#8
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);
        }