public async void Handle_WithNewStatusAssignedInMessage_UpdatesRequest() { var query = new ChangeRequestStatusCommand { RequestId = _existingRequestId2, NewStatus = RequestStatus.Assigned }; var handler = new ChangeRequestStatusCommandHandler(Context); var result = await handler.Handle(query); var requestToValidate = Context.Requests.First(rec => rec.RequestId == _existingRequestId2); requestToValidate.Status.ShouldBe(RequestStatus.Assigned); result.ShouldBeTrue(); }
public async void UpdateTheRequestWithTheCorrectStatus() { var request = new Request { RequestId = Guid.NewGuid(), Status = RequestStatus.Unassigned }; Context.Requests.Add(request); Context.SaveChanges(); var message = new ChangeRequestStatusCommand { RequestId = request.RequestId, NewStatus = RequestStatus.Assigned }; var sut = new ChangeRequestStatusCommandHandler(Context, Mock.Of <IMediator>()); await sut.Handle(message); var newStatus = Context.Requests.Single(x => x.RequestId == request.RequestId).Status; Assert.Equal(newStatus, request.Status); }
public async Task Index_SendsChangeRequestStatusCommand_WithExpectedValues_WhenLowercaseRejectBodyPosted() { ChangeRequestStatusCommand cmd = null; var mediatr = new Mock <IMediator>(); mediatr.Setup(x => x.SendAsync(It.IsAny <FindRequestIdByPhoneNumberQuery>())) .ReturnsAsync(RequestGuid); mediatr.Setup(x => x.SendAsync(It.IsAny <ChangeRequestStatusCommand>())) .Returns(Task.FromResult(Unit.Value)) .Callback <ChangeRequestStatusCommand>(x => cmd = x) .Verifiable(); var sut = new SmsResponseController(mediatr.Object, Mock.Of <ISmsSender>()); await sut.Index(GoodPhoneNumber, LowercaseReject); mediatr.Verify(x => x.SendAsync(It.IsAny <ChangeRequestStatusCommand>()), Times.Once); cmd.RequestId.ShouldBe(RequestGuid); cmd.NewStatus.ShouldBe(RequestStatus.Unassigned); }
public async void PublishRequestStatusChangedNotificationWithTheCorrectDataOnTheMessage() { const RequestStatus originalRequestStatus = RequestStatus.Unassigned; var originalRequest = new Request { RequestId = Guid.NewGuid(), Status = originalRequestStatus }; Context.Requests.Add(originalRequest); Context.SaveChanges(); var message = new ChangeRequestStatusCommand { RequestId = originalRequest.RequestId, NewStatus = RequestStatus.Assigned }; var mediator = new Mock <IMediator>(); var sut = new ChangeRequestStatusCommandHandler(Context, mediator.Object); await sut.Handle(message); mediator.Verify(x => x.PublishAsync(It.Is <RequestStatusChangedNotification>(y => y.RequestId == originalRequest.RequestId && y.OldStatus == originalRequestStatus && y.NewStatus == message.NewStatus))); }