public async Task Handle_WhenContextUpdatesEngagement_EngagementRecordInDatabaseReflectsUpdate() { var inputEngagement = new UpdateEngagement() { TimeDisengaged = new DateTime(1970, 10, 10) }; var context = await MockFactory.IncidentContext( nameof(PutEngagementTests) + nameof(Handle_WhenContextUpdatesEngagement_EngagementRecordInDatabaseReflectsUpdate) ); var incident = context.Incidents.FirstOrDefault(); var engagement = incident.Engagements.FirstOrDefault(); var serviceUnderTest = new PutEngagementHandler(context); var request = new PutEngagementRequest(incident.Id, engagement.Id, inputEngagement, new DummyAuthenticatedUserContext()); await serviceUnderTest.Handle(request, new System.Threading.CancellationToken()); var result = context.Engagements.First(e => e.Id == engagement.Id); Assert.AreEqual(new DateTime(1970, 10, 10), result.TimeDisengaged); }
public PutEngagementRequest(long incidentId, long engagementId, UpdateEngagement updateEngagement, AuthenticatedUserContext userContext) : base(userContext) { IncidentId = incidentId; UpdateEngagement = updateEngagement; EngagementId = engagementId; }
public PutEngagementRequest(long incidentId, long engagementId, UpdateEngagement updateEngagement, AuthenticatedUserContext userContext) : base(userContext) { IncidentId = incidentId; UpdateEngagement = ThrowIf.Null(updateEngagement, nameof(updateEngagement)); EngagementId = engagementId; }
public async Task Handle_WhenAssociatedIncidentDoesNotExist_ThrowKeyNotFoundException() { var inputEngagement = new UpdateEngagement() { TimeDisengaged = new DateTime(1070, 10, 10) }; var context = await MockFactory.IncidentContext(nameof(PutEngagementTests) + nameof(Handle_WhenAssociatedIncidentDoesNotExist_ThrowKeyNotFoundException)); var serviceUnderTest = new PutEngagementHandler(context); var request = new PutEngagementRequest(100_000, 1, inputEngagement, new DummyAuthenticatedUserContext()); await serviceUnderTest.Handle(request, new System.Threading.CancellationToken()); //Expect exception }
public async Task <IActionResult> Put([FromRoute] long incidentId, [FromRoute] long engagementId, [FromBody] UpdateEngagement updatedEngagement) { await _mediator.Send(new PutEngagementRequest(incidentId, engagementId, updatedEngagement, _authContext)); return(Ok()); }
public async Task <IActionResult> Put([FromRoute] long incidentId, [FromRoute] long engagementId, [FromBody] UpdateEngagement updatedEngagement) { await _mediator .Send(new PutEngagementRequest(incidentId, engagementId, updatedEngagement, AuthContext)) .ConfigureAwait(continueOnCapturedContext: false); return(Ok()); }