Esempio n. 1
0
        public async Task It_Catches_Errors_If_Any()
        {
            var exception         = new MyCustomException();
            var receivedCommand   = default(IDynamicCommand);
            var receivedException = default(Exception);

            var testStrategy = new TestCommandStrategy(
                onExecute: (_, __, ___) => throw exception
                );

            var strategy = new ErrorHandlerCommandStrategy(new DynamicCommandErrorHandler((ct, c, e) =>
            {
                receivedCommand   = c;
                receivedException = e;

                return(Task.CompletedTask);
            }))
            {
                InnerStrategy = testStrategy
            };

            var command = new DynamicCommand(DefaultCommandName, strategy);

            await command.Execute();

            receivedCommand.Should().Be(command);
            receivedException.Should().Be(exception);
        }
Esempio n. 2
0
        public async Task It_Doesnt_Catch_Errors_If_None()
        {
            var catchedErrors = false;

            var testStrategy = new TestCommandStrategy();

            var strategy = new ErrorHandlerCommandStrategy(new DynamicCommandErrorHandler((ct, c, e) =>
            {
                catchedErrors = true;

                return(Task.CompletedTask);
            }))
            {
                InnerStrategy = testStrategy
            };

            var command = new DynamicCommand(DefaultCommandName, strategy);

            await command.Execute();

            catchedErrors.Should().BeFalse();
        }