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; } }
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)); }