private async Task UpsertStandard()
        {
            var course =
                new ApprenticeshipCourse
            {
                Id             = "rockstar-999",
                Title          = "Rockstar Developer",
                CourseType     = ApprenticeshipCourseType.Standard,
                Duration       = 12,
                FundingCap     = 10000,
                FundingPeriods = new List <FundingPeriod>
                {
                    new FundingPeriod {
                        EffectiveFrom = DateTime.Now.AddYears(-10), EffectiveTo = new DateTime(DateTime.Now.Year + 1, 4, 30), FundingCap = 5000
                    },
                    new FundingPeriod {
                        EffectiveFrom = new DateTime(DateTime.Now.Year + 1, 5, 1), EffectiveTo = null, FundingCap = 10000
                    }
                },
                Level = 5
            };

            var document = new
            {
                id       = $"ApprenticeshipCourse-{course.Id}",
                type     = $"{typeof(ApprenticeshipCourse)}",
                Document = course
            };

            await Run(async (client, documentCollection) =>
            {
                await client.UpsertDocumentAsync(documentCollection.SelfLink, document);
            });
        }
Пример #2
0
        public void SetUp()
        {
            _moqer = new AutoMoqer();

            _courseElectrician = new ApprenticeshipCourse
            {
                CourseType = ApprenticeshipCourseType.Standard,
                Duration   = 23,
                FundingCap = 12000,
                Id         = "567",
                Level      = 4,
                Title      = "Electrician"
            };

            _courseCarpentry =
                new ApprenticeshipCourse
            {
                CourseType = ApprenticeshipCourseType.Standard,
                Duration   = 36,
                FundingCap = 9000,
                Id         = "123",
                Level      = 4,
                Title      = "Carpentry"
            };

            _apprenticeshipCourses = new List <ApprenticeshipCourse>
            {
                _courseElectrician,
                _courseCarpentry,
            };

            _moqer.GetMock <IApprenticeshipCourseDataService>()
            .Setup(x => x.GetAllStandardApprenticeshipCourses())
            .Returns(_apprenticeshipCourses);
        }
        public void WhenAdjustingTotalCostGiveExpectedResults(decimal?fundingCap, int?noOfApprenticeships, decimal?totalCost, decimal?expectedTotalCost)
        {
            ApprenticeshipCourse apprenticeshipCourse = null;

            if (fundingCap.HasValue)
            {
                apprenticeshipCourse = new ApprenticeshipCourse {
                    FundingCap = fundingCap.Value
                }
            }
            ;

            var model = new AddApprenticeshipViewModel
            {
                ApprenticeshipToAdd = new ApprenticeshipToAdd
                {
                    AppenticeshipCourse = apprenticeshipCourse,
                    ApprenticesCount    = noOfApprenticeships,
                    TotalCost           = totalCost
                }
            };


            var vm = _apprenticeshipOrchestrator.AdjustTotalCostApprenticeship(model);

            vm.ApprenticeshipToAdd.TotalCost.Should().Be(expectedTotalCost);
        }
    }
Пример #4
0
        public async Task Handle(ApprenticeshipCourse course)
        {
            _logger.Debug($"Storing apprenticeship course. Course: {course.ToJson()}");
            await _dataService.Store(course);

            _logger.Info($"Stored apprenticeship course. Course id: {course.Id}");
        }
 public static async Task Run([QueueTrigger(QueueNames.StoreCourse)] ApprenticeshipCourse course,
                              TraceWriter log,
                              ExecutionContext executionContext)
 {
     await FunctionRunner.Run <StoreCourseFunction>(log, executionContext, async (container, logger) =>
     {
         logger.Debug("Received reques to store course");
         var handler = container.GetInstance <StoreCourseHandler>();
         await handler.Handle(course);
         log.Info("Finished handling the request to store the course.");
     });
 }
Пример #6
0
        public async Task Stores_The_Course()
        {
            var handler = _moqer.Resolve <StoreCourseHandler>();
            var course  = new ApprenticeshipCourse
            {
                Id         = "course-1",
                Level      = 1,
                Duration   = 10,
                Title      = "Test course",
                CourseType = ApprenticeshipCourseType.Standard,
                FundingCap = 10000
            };
            await handler.Handle(course);

            _moqer.GetMock <IApprenticeshipCourseDataService>()
            .Verify(svc => svc.Store(It.Is <ApprenticeshipCourse>(storedCourse => storedCourse == course)));
        }
Пример #7
0
            public WhenGettingApprenticeshipDetailsFixture()
            {
                var fixture = new Fixture();

                ApprenticeshipId          = fixture.Create <long>();
                Commitments               = fixture.Create <Commitments>();
                GetApprenticeshipResponse = fixture.Create <GetApprenticeshipResponse>();
                ApprenticeshipCourse      = fixture.Create <ApprenticeshipCourse>();

                MockMapper = new Mock <IMapper>();
                MockMapper.Setup(m => m.Map <Commitments>(It.IsAny <GetApprenticeshipResponse>())).Returns(Commitments); // mapping data

                MockDocumentSession = new Mock <IDocumentSession>();
                MockDocumentSession.Setup(m => m.Get <ApprenticeshipCourse>(It.IsAny <string>())).ReturnsAsync(ApprenticeshipCourse);

                MockCommitmentsApiClient = new Mock <ICommitmentsApiClient>();
                MockCommitmentsApiClient.Setup(x => x.GetApprenticeship(It.IsAny <long>(), CancellationToken.None)).ReturnsAsync(GetApprenticeshipResponse);

                Sut = new GetApprenticeshipService(MockCommitmentsApiClient.Object, MockMapper.Object, MockDocumentSession.Object, Mock.Of <ILogger <GetApprenticeshipService> >());
            }
Пример #8
0
        public void SetUp()
        {
            _moqer = new AutoMoqer();

            var courseElectrician = new ApprenticeshipCourse
            {
                CourseType = ApprenticeshipCourseType.Standard,
                Duration   = 23,
                FundingCap = 12000,
                Id         = "567",
                Level      = 4,
                Title      = "Electrician"
            };

            var courseCarpentry =
                new ApprenticeshipCourse
            {
                CourseType = ApprenticeshipCourseType.Standard,
                Duration   = 36,
                FundingCap = 9000,
                Id         = "123",
                Level      = 4,
                Title      = "Carpentry"
            };

            var apprenticeshipCourses = new List <ApprenticeshipCourse>
            {
                courseElectrician,
                courseCarpentry,
            };

            _moqer.GetMock <IAddApprenticeshipOrchestrator>()
            .Setup(x => x.GetStandardCourses())
            .Returns(apprenticeshipCourses);

            _controller = _moqer.Resolve <EstimationController>();
        }
Пример #9
0
 public async Task Store(ApprenticeshipCourse course)
 {
     await _documentSession.Store(course);
 }
        public void Setup()
        {
            _autoMoq = new AutoMoqer();

            var model = new AccountEstimationModel
            {
                Id = Guid.NewGuid().ToString("N"),
                Apprenticeships = new List <VirtualApprenticeship>
                {
                    new VirtualApprenticeship
                    {
                        Id               = VirtualApprenticeshipId,
                        CourseTitle      = "Wood work",
                        Level            = 2,
                        ApprenticesCount = 5
                    }
                },
                EmployerAccountId = AccountId,
                EstimationName    = "default"
            };

            _autoMoq.SetInstance(model);

            _courseTitle = "Seafaring Level 2";
            _level       = 2;
            _courseId    = "ABC";
            _totalCost   = 1234;

            _addApprenticeshipValidationDetail = new AddApprenticeshipValidationDetail();

            _apprenticeshipCourses = new List <ApprenticeshipCourse>
            {
                new ApprenticeshipCourse
                {
                    Duration   = 12,
                    FundingCap = 7000,
                    Id         = _courseId,
                    Level      = _level,
                    Title      = _courseTitle
                }
            };

            _apprenticesCount = 5;
            _numberOfMonths   = 12;
            _startYear        = DateTime.Now.Year;
            _startMonth       = 12;


            _apprenticeshipCourse = new ApprenticeshipCourse {
                Id = _courseId, Title = _courseTitle, Level = _level
            };
            _apprenticeshipToAdd = new ApprenticeshipToAdd
            {
                ApprenticesCount    = _apprenticesCount,
                NumberOfMonths      = _numberOfMonths,
                StartYear           = _startYear,
                StartMonth          = _startMonth,
                TotalCost           = _totalCost,
                AppenticeshipCourse = _apprenticeshipCourse,
                CourseId            = _courseId
            };

            _addApprenticeshipViewModel = new AddApprenticeshipViewModel
            {
                ApprenticeshipToAdd      = _apprenticeshipToAdd,
                AvailableApprenticeships = null,
                Name = ""
            };

            _autoMoq.GetMock <IHashingService>()
            .Setup(o => o.DecodeValue(HashedAccountId))
            .Returns(AccountId);

            _autoMoq.GetMock <IAccountEstimationRepository>()
            .Setup(x => x.Get(It.IsAny <long>()))
            .Returns(Task.FromResult(_autoMoq.Resolve <AccountEstimation>()));

            _autoMoq.GetMock <IApprenticeshipCourseService>()
            .Setup(x => x.GetApprenticeshipCourses())
            .Returns(_apprenticeshipCourses);

            _autoMoq.GetMock <IApprenticeshipCourseService>()
            .Setup(x => x.GetApprenticeshipCourse(_courseId))
            .Returns(_apprenticeshipCourse);

            _autoMoq.GetMock <IVirtualApprenticeshipAddValidator>()
            .Setup(x => x.GetCleanValidationDetail())
            .Returns(_addApprenticeshipValidationDetail);


            _apprenticeshipOrchestrator = _autoMoq.Resolve <ApprenticeshipOrchestrator>();
        }