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