コード例 #1
0
        public async Task ProcessResumedApprenticeship(ApprenticeshipResumedEvent resumedEvent)
        {
            try
            {
                logger.LogDebug($"Now processing the apprenticeship resumed event for Apprenticeship id: {resumedEvent.ApprenticeshipId}");
                var model = new UpdatedApprenticeshipResumedModel
                {
                    ApprenticeshipId = resumedEvent.ApprenticeshipId,
                    ResumedDate      = resumedEvent.ResumedOn,
                };

                var updatedApprenticeship = await apprenticeshipResumedService.UpdateApprenticeship(model).ConfigureAwait(false);

                await PublishApprenticeshipUpdate(updatedApprenticeship);

                logger.LogInfo($"Finished processing the apprenticeship resumed event. Apprenticeship id: {updatedApprenticeship.Id}, employer account id: {updatedApprenticeship.AccountId}, Ukprn: {updatedApprenticeship.Ukprn}.");
            }
            catch (Exception ex)
            {
                logger.LogError($"Error processing the apprenticeship resumed event. Error: {ex.Message}", ex);
                throw;
            }
        }
コード例 #2
0
        public async Task Process_Apprenticeship_Resumed_Correctly()
        {
            var apprenticeshipResumedEvent = new ApprenticeshipResumedEvent()
            {
                ApprenticeshipId = 1,
                ResumedOn        = DateTime.Today
            };

            mocker.Mock <IApprenticeshipResumedService>()
            .Setup(svc => svc.UpdateApprenticeship(It.IsAny <UpdatedApprenticeshipResumedModel>()))
            .ReturnsAsync(() => new ApprenticeshipModel
            {
                Id = apprenticeshipResumedEvent.ApprenticeshipId,
            });

            var apprenticeshipProcessor = mocker.Create <ApprenticeshipProcessor>();
            await apprenticeshipProcessor.ProcessResumedApprenticeship(apprenticeshipResumedEvent);

            mocker.Mock <IEndpointInstance>()
            .Verify(svc => svc.Publish(It.Is <ApprenticeshipUpdated>(ev => ev.Id == apprenticeshipResumedEvent.ApprenticeshipId), It.IsAny <PublishOptions>()), Times.Once);

            mocker.Mock <IApprenticeshipResumedService>()
            .Verify(svc => svc.UpdateApprenticeship(It.IsAny <UpdatedApprenticeshipResumedModel>()), Times.Once);
        }
 public Task Handle(ApprenticeshipResumedEvent message, IMessageHandlerContext context)
 {
     return(Log(message, context));
 }