コード例 #1
0
    public async Task Handle_バリデータがnullの場合はそのまま実行される()
    {
        var executed = false;
        var behavior = new FluentValidationBehavior <TestBehaviorRequest, TestBehaviorResponse>(
            new ServiceFactory(_ => null));
        await behavior.Handle(
            new TestBehaviorRequest(),
            new CancellationToken(),
            () =>
        {
            executed = true;
            return(Task.FromResult(new TestBehaviorResponse()));
        });

        executed.Should().BeTrue();
    }
コード例 #2
0
    public async Task Handle_バリデーションが実行されてエラーがない場合は処理が継続する()
    {
        var executed = false;
        var behavior = new FluentValidationBehavior <TestBehaviorRequest, TestBehaviorResponse>(
            new ServiceFactory(_ => new List <IValidator <TestBehaviorRequest> >()
        {
            new Validator1()
        }));
        await behavior.Handle(
            new TestBehaviorRequest()
        {
            Name = "A"
        },
            new CancellationToken(),
            () =>
        {
            executed = true;
            return(Task.FromResult(new TestBehaviorResponse()));
        });

        executed.Should().BeTrue();
    }
コード例 #3
0
    public async Task Handle_バリデーションが実行されてエラーがある場合は例外が発生する()
    {
        var executed = false;
        var behavior = new FluentValidationBehavior <TestBehaviorRequest, TestBehaviorResponse>(
            new ServiceFactory(_ => new List <IValidator <TestBehaviorRequest> >()
        {
            new Validator1()
        }));
        Func <Task> act = () => behavior.Handle(
            new TestBehaviorRequest(),
            new CancellationToken(),
            () =>
        {
            executed = true;
            return(Task.FromResult(new TestBehaviorResponse()));
        });

        var result = await act.Should().ThrowAsync <ValidationException>();

        result.And.Errors.Should().HaveCount(1);
        executed.Should().BeFalse();
    }