Beispiel #1
0
        public ProviderRejectedChangeOfProviderRequestEventHandlerTestFixture()
        {
            _autoFixture = new Fixture();

            _mockMessageHandlerContext = new Mock <IMessageHandlerContext>();
            _mockPipelineContext       = _mockMessageHandlerContext.As <IPipelineContext>();

            _event = _autoFixture.Create <ProviderRejectedChangeOfPartyRequestEvent>();

            _mockEncodingService = new Mock <IEncodingService>();
            _mockEncodingService.Setup(enc => enc.Encode(_event.EmployerAccountId, EncodingType.AccountId))
            .Returns(AccountHashedId);
            _mockEncodingService.Setup(enc => enc.Encode(ApprenticeshipId, EncodingType.ApprenticeshipId))
            .Returns(ApprenticeshipHashedId);

            _cohort = new Cohort();
            _cohort.SetValue(x => x.ChangeOfPartyRequestId, _event.ChangeOfPartyRequestId);

            _changeOfPartyRequest = new Mock <ChangeOfPartyRequest>();
            _changeOfPartyRequest.Setup(x => x.Id).Returns(_event.ChangeOfPartyRequestId);
            _changeOfPartyRequest.Setup(x => x.ApprenticeshipId).Returns(ApprenticeshipId);

            _db = new ProviderCommitmentsDbContext(new DbContextOptionsBuilder <ProviderCommitmentsDbContext>()
                                                   .UseInMemoryDatabase(Guid.NewGuid().ToString())
                                                   .Options);

            _db.Cohorts.Add(_cohort);
            _db.ChangeOfPartyRequests.Add(_changeOfPartyRequest.Object);
            _db.SaveChanges();

            _handler = new ProviderRejectedChangeOfPartyRequestEventHandler(_mockEncodingService.Object, new Lazy <ProviderCommitmentsDbContext>(() => _db));
        }
Beispiel #2
0
        public Task PublishProviderRejectedChangeOfPartyCohort(Commitment commitment)
        {
            var apprenticeship = commitment.Apprenticeships.FirstOrDefault();

            var changeOfPartyRejectedEvent = new ProviderRejectedChangeOfPartyRequestEvent
            {
                EmployerAccountId      = commitment.EmployerAccountId,
                EmployerName           = commitment.LegalEntityName,
                TrainingProviderName   = commitment.ProviderName,
                ChangeOfPartyRequestId = commitment.ChangeOfPartyRequestId.Value,
                ApprenticeName         = $"{apprenticeship.FirstName} {apprenticeship.LastName}",
                RecipientEmailAddress  = commitment.LastUpdatedByEmployerEmail
            };

            return(PublishWithLog(changeOfPartyRejectedEvent, $"Commitment: {commitment.Id}, EmployerAccountId: {commitment.EmployerAccountId}, ChangeOfPartyRequest: {commitment.ChangeOfPartyRequestId.Value}"));
        }