public void SetUp()
        {
            mocker = AutoMock.GetLoose();
            mocker.Mock <IApprenticeshipRepository>()
            .Setup(x => x.Add(It.IsAny <ApprenticeshipModel>()))
            .Returns(Task.CompletedTask);
            mocker.Mock <IApprenticeshipRepository>()
            .Setup(x => x.GetDuplicates(It.IsAny <long>()))
            .ReturnsAsync(new List <ApprenticeshipDuplicateModel>
            {
                new ApprenticeshipDuplicateModel {
                    ApprenticeshipId = 321, Ukprn = 5678, Uln = 54321, Id = 1
                }
            });

            mocker.Mock <IApprenticeshipApprovedUpdatedService>()
            .Setup(x => x.UpdateApprenticeship(It.IsAny <UpdatedApprenticeshipApprovedModel>()))
            .ReturnsAsync(new ApprenticeshipModel());

            mocker.Mock <IApprenticeshipDataLockTriageService>()
            .Setup(x => x.UpdateApprenticeship(It.IsAny <UpdatedApprenticeshipDataLockTriageModel>()))
            .ReturnsAsync(new ApprenticeshipModel());

            apprenticeship = new ApprenticeshipModel
            {
                Id        = 1234,
                AccountId = 12345,
                Ukprn     = 123,
                Uln       = 54321
            };
        }
        public void SetUp()
        {
            mocker = AutoMock.GetLoose();
            mocker.Mock <IMapper>()
            .Setup(x => x.Map <ApprenticeshipModel>(It.IsAny <ApprenticeshipCreatedEvent>()))
            .Returns <ApprenticeshipCreatedEvent>(ev => new ApprenticeshipModel
            {
                AccountId = ev.AccountId,
                Ukprn     = ev.ProviderId,
                Id        = ev.ApprenticeshipId,
                Uln       = long.Parse(ev.Uln)
            });
            mocker.Mock <IMapper>()
            .Setup(x => x.Map <ApprenticeshipUpdated>(It.IsAny <ApprenticeshipModel>()))
            .Returns <ApprenticeshipModel>(model => new ApprenticeshipUpdated
            {
                EmployerAccountId = model.AccountId,
                Ukprn             = model.Ukprn,
                Id  = model.Id,
                Uln = model.Uln
            });

            mocker.Mock <IEndpointInstance>()
            .Setup(x => x.Publish(It.IsAny <object>(), It.IsAny <PublishOptions>()))
            .Returns(Task.CompletedTask);
            mocker.Mock <IEndpointInstanceFactory>()
            .Setup(x => x.GetEndpointInstance())
            .ReturnsAsync(mocker.Mock <IEndpointInstance>().Object);
        }
Example #3
0
 public void SetUp()
 {
     mocker = AutoMock.GetLoose();
     mocker.Mock <IEndpointInstanceFactory>()
     .Setup(factory => factory.GetEndpointInstance())
     .ReturnsAsync(mocker.Mock <IEndpointInstance>().Object);
 }
Example #4
0
 public void SetUp()
 {
     mocker = AutoMock.GetLoose();
     mocker.Mock <IEndpointInstance>()
     .Setup(x => x.Publish(It.IsAny <object>(), It.IsAny <PublishOptions>()))
     .Returns(Task.CompletedTask);
     mocker.Mock <IEndpointInstanceFactory>()
     .Setup(factory => factory.GetEndpointInstance())
     .ReturnsAsync(mocker.Mock <IEndpointInstance>().Object);
     mocker.Mock <IPeriodEndJobClient>()
     .Setup(client => client.RecordPeriodEndStart(It.IsAny <long>(), It.IsAny <short>(), It.IsAny <byte>(),
                                                  It.IsAny <List <GeneratedMessage> >()))
     .Returns(Task.CompletedTask);
     mocker.Mock <IPeriodEndJobClient>()
     .Setup(client => client.RecordPeriodEndRun(It.IsAny <long>(), It.IsAny <short>(), It.IsAny <byte>(),
                                                It.IsAny <List <GeneratedMessage> >()))
     .Returns(Task.CompletedTask);
     mocker.Mock <IPeriodEndJobClient>()
     .Setup(client => client.RecordPeriodEndStop(It.IsAny <long>(), It.IsAny <short>(), It.IsAny <byte>(),
                                                 It.IsAny <List <GeneratedMessage> >()))
     .Returns(Task.CompletedTask);
     mocker.Mock <IJobStatusService>()
     .Setup(svc => svc.WaitForJobToFinish(It.IsAny <long>(), It.IsAny <CancellationToken>()))
     .ReturnsAsync(true);
     mocker.Mock <IJobsDataContext>()
     .Setup(x => x.GetNonFailedDcJobId(It.IsAny <JobType>(), It.IsAny <short>(), It.IsAny <byte>()))
     .ReturnsAsync(0);
 }
        public async Task Publishes_Period_End_Started_Event_From_Period_End_Start_Task()
        {
            var jobContextMessage = new JobContextMessage
            {
                JobId  = 1,
                Topics = new List <ITopicItem>
                {
                    new TopicItem
                    {
                        SubscriptionName = "PeriodEnd",
                        Tasks            = new List <ITaskItem>
                        {
                            new TaskItem
                            {
                                SupportsParallelExecution = false,
                                Tasks = new List <string> {
                                    "PeriodEndStart"
                                }
                            }
                        }
                    }
                },
                KeyValuePairs = new Dictionary <string, object> {
                    { JobContextMessageConstants.KeyValuePairs.ReturnPeriod, 10 },
                    { JobContextMessageConstants.KeyValuePairs.CollectionYear, 1819 }
                }
            };

            var handler = mocker.Create <PeriodEndJobContextMessageHandler>();
            await handler.HandleAsync(jobContextMessage, CancellationToken.None);

            mocker.Mock <IEndpointInstance>()
            .Verify(x => x.Publish(It.Is <PeriodEndStartedEvent>(startedEvent => startedEvent.JobId == 1 &&
                                                                 startedEvent.CollectionPeriod.Period == 10 &&
                                                                 startedEvent.CollectionPeriod.AcademicYear == 1819),
                                   It.IsAny <PublishOptions>()), Times.Once);
        }
        public async Task Stores_New_Apprenticeships()
        {
            var service = mocker.Create <ApprenticeshipService>();
            await service.NewApprenticeship(apprenticeship);

            mocker.Mock <IApprenticeshipRepository>()
            .Verify(x => x.Add(It.Is <ApprenticeshipModel>(model =>
                                                           model.Id == apprenticeship.Id &&
                                                           model.AccountId == apprenticeship.AccountId &&
                                                           model.Uln == apprenticeship.Uln &&
                                                           model.Ukprn == apprenticeship.Ukprn)), Times.Once);
        }
Example #7
0
        public async Task Publishes_Period_End_Started_Event_From_Period_End_Start_Task()
        {
            var jobContextMessage = CreatePeriodEndJobContextMessage(PeriodEndTaskType.PeriodEndStart);

            var handler = mocker.Create <PeriodEndJobContextMessageHandler>();
            await handler.HandleAsync(jobContextMessage, CancellationToken.None);

            mocker.Mock <IEndpointInstance>()
            .Verify(x => x.Publish(It.Is <PeriodEndStartedEvent>(startedEvent => startedEvent.JobId == 1 &&
                                                                 startedEvent.CollectionPeriod.Period == 10 &&
                                                                 startedEvent.CollectionPeriod.AcademicYear == 1819),
                                   It.IsAny <PublishOptions>()), Times.Once);
        }
        public async Task Processes_ApprenticeshipCreated()
        {
            var approvalsEvent = new ApprenticeshipCreatedEvent
            {
                AccountId = 12345,
                StartDate = DateTime.Today,
                AccountLegalEntityPublicHashedId = "1234567890",
                AgreedOn         = DateTime.Today.AddDays(-1),
                ApprenticeshipId = 12,
                CreatedOn        = DateTime.Today.AddDays(-2),
                EndDate          = DateTime.Today.AddYears(1),
                LegalEntityName  = "Test Employer",
                ProviderId       = 1234,
                TrainingCode     = "52",
                TrainingType     = ProgrammeType.Standard,
                TransferSenderId = 123456,
                Uln           = "123456",
                PriceEpisodes = new PriceEpisode[] { new PriceEpisode {
                                                         FromDate = DateTime.Today, Cost = 1000M
                                                     } }
            };

            mocker.Mock <IApprenticeshipService>()
            .Setup(svc => svc.NewApprenticeship(It.IsAny <ApprenticeshipModel>()))
            .ReturnsAsync(() => new List <ApprenticeshipDuplicateModel>());

            var apprenticeshipProcessor = mocker.Create <ApprenticeshipProcessor>();
            await apprenticeshipProcessor.Process(approvalsEvent);

            mocker.Mock <IApprenticeshipService>()
            .Verify(svc => svc.NewApprenticeship(It.Is <ApprenticeshipModel>(model =>
                                                                             model.AccountId == approvalsEvent.AccountId &&
                                                                             model.Id == approvalsEvent.ApprenticeshipId &&
                                                                             model.Ukprn == approvalsEvent.ProviderId &&
                                                                             model.Uln.ToString() == approvalsEvent.Uln)
                                                 ), Times.Once);
        }