public async Task MessageSenderThrowsWhenDependencyResolutionFails()
    {
        // Arrange
        var parameters = new MultipleHandlersParameters();
        var command    = new CqrsCommand <MultipleHandlersParameters>(parameters, Constants.CorrelationId);

        // Act
        Func <Task> subjectResult = async() => { await _subject.Send(command, CancellationToken.None); };

        // Assert
        await subjectResult.Should().ThrowAsync <HandlerNotFoundException>();
    }
Example #2
0
    public async Task MessageSenderThrowsWhenMultipleCommandHandlersResolved()
    {
        // Arrange
        var parameters = new MultipleHandlersParameters();
        var command    = new CqrsCommand <MultipleHandlersParameters>(parameters, Constants.CorrelationId);

        // Act
        Func <Task> subjectResult = async() => { await Subject.Send(command, CancellationToken.None); };

        // Assert
        await subjectResult.Should().ThrowAsync <MultipleCommandHandlersDefinedException>()
        .WithMessage($"Multiple command handlers for type '{typeof(ICqrsCommandHandler<CqrsCommand<MultipleHandlersParameters>>).AssemblyQualifiedName}' were found. Only one handler can exist for a command.");
    }