public void Arrange()
        {
            _eventsList = new Mock <IApprenticeshipEventsList>();
            _eventsApi  = new Mock <IEventsApi>();
            _publisher  = new ApprenticeshipEventsPublisher(_eventsApi.Object, Mock.Of <ICommitmentsLogger>());

            _eventsApi.Setup(x =>
                             x.BulkCreateApprenticeshipEvent(It.IsAny <IList <Events.Api.Types.ApprenticeshipEvent> >()))
            .Returns(Task.CompletedTask);
        }
        public void Given()
        {
            _eventsList = new Mock <IApprenticeshipEventsList>();
            _eventsApi  = new Mock <IEventsApi>();
            _publisher  = new ApprenticeshipEventsPublisher(_eventsApi.Object, Mock.Of <ICommitmentsLogger>());

            _commitment = new Commitment
            {
                Id                               = 348957,
                ProviderId                       = 123,
                EmployerAccountId                = 987,
                LegalEntityId                    = "LE ID",
                LegalEntityName                  = "LE Name",
                LegalEntityOrganisationType      = Common.Domain.Types.OrganisationType.CompaniesHouse,
                AccountLegalEntityPublicHashedId = "123456"
            };

            _apprenticeship = new Apprenticeship
            {
                EndDate         = DateTime.Now.AddYears(3),
                StartDate       = DateTime.Now.AddDays(1),
                Cost            = 123.45m,
                TrainingCode    = "TRCODE",
                AgreementStatus = Domain.Entities.AgreementStatus.BothAgreed,
                Id            = 34875,
                ULN           = "ULN",
                PaymentStatus = Domain.Entities.PaymentStatus.Active,
                TrainingType  = TrainingType.Framework,
                PaymentOrder  = 213,
                DateOfBirth   = DateTime.Now.AddYears(-18)
            };

            _mockApprenticeshipEvent = new Mock <IApprenticeshipEvent>();
            _mockApprenticeshipEvent.SetupGet(x => x.Apprenticeship).Returns(_apprenticeship);
            _mockApprenticeshipEvent.SetupGet(x => x.Commitment).Returns(_commitment);
            _mockApprenticeshipEvent.SetupGet(x => x.Event).Returns(_event);
            var events = new List <IApprenticeshipEvent> {
                _mockApprenticeshipEvent.Object
            };

            _eventsList.SetupGet(x => x.Events).Returns(events);
        }