public void Send_when_command_with_authorization_required_attribute_and_signed_in_sets_user_prop() { var expectedResponse = new RequestStatus(Status.COMPLETED); var mockMediatr = new Mock <IMediator>(); mockMediatr.Setup(f => f.Send(It.Is <IRequest <RequestStatus> >( request => VerifyTestCommand(request) ), It.IsAny <CancellationToken>())); var stubUserIdentityService = new Mock <IUserIdentityService>(); stubUserIdentityService.Setup(f => f.GetSignedInUserIdentity()) .Returns(new UserIdentity(Guid.NewGuid(), "test")); var stubImplProvider = new Mock <IImplProvider>(); stubImplProvider.Setup(f => f.Get <IUserIdentityService>()) .Returns(stubUserIdentityService.Object); var mediatrHandlerMediator = new MediatRCommandHandlerMediator(mockMediatr.Object); var mediator = new CommandMediator(mediatrHandlerMediator, stubImplProvider.Object); Assert.DoesNotThrowAsync(async() => await mediator.Send(new TestCommandBaseAuthWithSignedUser(12))); }
public async Task Send_when_valid_command_passed_returns_response() { var expectedResponse = new RequestStatus(Status.COMPLETED); var mockMediatr = new Mock <IMediator>(); mockMediatr .Setup(f => f.Send(It.IsAny <TestCommandBase>(), It.IsAny <CancellationToken>())) .ReturnsAsync(expectedResponse); var mediatrHandlerMediator = new MediatRCommandHandlerMediator(mockMediatr.Object); var mediator = new CommandMediator(mediatrHandlerMediator, Mock.Of <IImplProvider>()); var response = await mediator.Send(new TestCommandBase()); response.Status.Should() .Be(Status.COMPLETED); response.CorrelationId.Should().BeEquivalentTo(expectedResponse.CorrelationId); }
public void Send_when_command_with_authorization_required_attribute_and_not_signed_in_throws() { var expectedResponse = new RequestStatus(Status.COMPLETED); var mockMediatr = new Mock <IMediator>(); var stubUserIdentityService = new Mock <IUserIdentityService>(); stubUserIdentityService.Setup(f => f.GetSignedInUserIdentity()).Returns(UserIdentity.Empty); var stubImplProvider = new Mock <IImplProvider>(); stubImplProvider.Setup(f => f.Get <IUserIdentityService>()) .Returns(stubUserIdentityService.Object); var mediatrHandlerMediator = new MediatRCommandHandlerMediator(mockMediatr.Object); var mediator = new CommandMediator(mediatrHandlerMediator, stubImplProvider.Object); Assert.ThrowsAsync <NotSignedInException>(async() => await mediator.Send(new TestCommandBaseAuth())); }