public async void Do_InvokesTheSendForTheMEdiatorInTheActor_IfTheUseCaseIsSupported() { // Arrange IMediator mediator = Substitute.For <IMediator>(); ITestUseCaseRequest request = Substitute.For <ITestUseCaseRequest>(); ActorWithUseCase1Supported actor; // Act actor = new ActorWithUseCase1Supported(mediator); await actor.Do(request); // Assert await mediator.Received().Send(Arg.Any <object>()); }
public async void Do_ThrowsInvalidOperationException_IfBothTheActorAndSuccessorDoesNotSupportTheUseCaseRequest() { // Arrange IMediator mediator = Substitute.For <IMediator>(); ITestUseCaseRequest request = Substitute.For <ITestUseCaseRequest>(); InvalidOperationException exception; ActorWithNoUseCases actor; // Act actor = new ActorWithNoUseCases(mediator); exception = await Assert.ThrowsAsync <InvalidOperationException>(() => actor.Do(request).AsTask()); // Assert Assert.NotNull(exception); }