Example #1
0
        public async Task ProcessPausedApprenticeship(ApprenticeshipPausedEvent pausedEvent)
        {
            try
            {
                logger.LogDebug($"Now processing the apprenticeship paused event for Apprenticeship id: {pausedEvent.ApprenticeshipId}");
                var model = new UpdatedApprenticeshipPausedModel
                {
                    ApprenticeshipId = pausedEvent.ApprenticeshipId,
                    PauseDate        = pausedEvent.PausedOn,
                };

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

                await PublishApprenticeshipUpdate(updatedApprenticeship);

                logger.LogInfo($"Finished processing the apprenticeship paused event. Apprenticeship id: {updatedApprenticeship.Id}, employer account id: {updatedApprenticeship.AccountId}, Ukprn: {updatedApprenticeship.Ukprn}.");
            }
            catch (Exception ex)
            {
                logger.LogError($"Error processing the apprenticeship paused event. Error: {ex.Message}", ex);
                throw;
            }
        }
Example #2
0
        public async Task Process_Apprenticeship_Paused_Correctly()
        {
            var apprenticeshipPausedEvent = new ApprenticeshipPausedEvent()
            {
                ApprenticeshipId = 1,
                PausedOn         = DateTime.Today
            };

            mocker.Mock <IApprenticeshipPauseService>()
            .Setup(svc => svc.UpdateApprenticeship(It.IsAny <UpdatedApprenticeshipPausedModel>()))
            .ReturnsAsync(() => new ApprenticeshipModel
            {
                Id = apprenticeshipPausedEvent.ApprenticeshipId,
            });

            var apprenticeshipProcessor = mocker.Create <ApprenticeshipProcessor>();
            await apprenticeshipProcessor.ProcessPausedApprenticeship(apprenticeshipPausedEvent);

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

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