public void Handle()
        {
            ICommandHandler<ChangeTaskStatusCommand> handler = new ChangeTaskStatusCommandHandler(_db);
            IValidator<ChangeTaskStatusCommand> validator = new ChangeTaskStatusCommandValidator(_db);

            var decorator = new ValidationCommandHandlerDecorator<ChangeTaskStatusCommand>(
                handler, validator);

            ChangeTaskStatusCommand fixtureCommand = _fixture.Create<ChangeTaskStatusCommand>();

            decorator.Handle(fixtureCommand);
        }
Example #2
0
        public void Handle()
        {
            ICommandHandler <ChangeTaskStatusCommand> handler   = new ChangeTaskStatusCommandHandler(_db);
            IValidator <ChangeTaskStatusCommand>      validator = new ChangeTaskStatusCommandValidator(_db);

            var decorator = new ValidationCommandHandlerDecorator <ChangeTaskStatusCommand>(
                handler, validator);

            ChangeTaskStatusCommand fixtureCommand = _fixture.Create <ChangeTaskStatusCommand>();

            decorator.Handle(fixtureCommand);
        }
Example #3
0
        public async Task ShouldReturnFailure()
        {
            // Arrange
            var request     = new TestCommand();
            var mockHandler = new Mock <ICommandHandler <TestCommand> >();

            // Act
            var decorator = new ValidationCommandHandlerDecorator <TestCommand>(mockHandler.Object, new TestCommandValidator());
            var result    = await decorator.Handle(request, Helper.Context);

            //Assert
            Assert.True(result.HasError);
            Assert.Equal("error_code", result.Errors[0].Code);
        }
        public void PerformValidation_GameItemWithEmptyName_ThrowsValidationError()
        {
            // Arrange
            var item = new EquipmentModel
            {
                Name = string.Empty,
                Description = "Valid description",
            };

            var command = new AddGameItemCommand(item);
            var fakeHandler = new AddGameItemCommandHandler();
            var fakeValidator = FakeServices.GetFakeValidator(command);

            var handler = new ValidationCommandHandlerDecorator<AddGameItemCommand>(fakeHandler, fakeValidator, new ObjectValidator());

            // Act
            handler.Handle(command);
        }
Example #5
0
        public void PerformValidation_GameItemNameWithInvalidCharacters_ThrowsValidationError()
        {
            // Arrange
            var item = new EquipmentModel
            {
                Name        = "1n val!d",
                Description = "Valid description",
            };

            var command       = new AddGameItemCommand(item);
            var fakeHandler   = new AddGameItemCommandHandler();
            var fakeValidator = FakeServices.GetFakeValidator(command);

            var handler = new ValidationCommandHandlerDecorator <AddGameItemCommand>(fakeHandler, fakeValidator, new ObjectValidator());

            // Act
            handler.Handle(command);
        }
Example #6
0
        public void PerformValidation_CreateItemWithoutCategory_ThrowsValidationError()
        {
            // Arrange
            var item = new EquipmentModel
            {
                Name        = "Valid",
                Description = "Valid description"
            };

            var command       = new AddGameItemCommand(item);
            var fakeHandler   = new AddGameItemCommandHandler();
            var fakeValidator = FakeServices.GetFakeValidator(command);

            var handler = new ValidationCommandHandlerDecorator <AddGameItemCommand>(fakeHandler, fakeValidator, new ObjectValidator());

            // Act
            handler.Handle(command);
        }
Example #7
0
        public async Task ShouldCallDecoratorOnValidationSuccess()
        {
            // Arrange
            var request = new TestCommand
            {
                NotNullableValue = "value"
            };

            var mockHandler = new Mock <ICommandHandler <TestCommand> >();

            mockHandler
            .Setup(x => x.Handle(request, Helper.Context))
            .ReturnsAsync(CommandResult.Success);

            // Act
            var decorator = new ValidationCommandHandlerDecorator <TestCommand>(mockHandler.Object, new TestCommandValidator());
            var result    = await decorator.Handle(request, Helper.Context);

            //Assert
            Assert.True(result.IsSuccess);
            mockHandler.Verify(x => x.Handle(request, Helper.Context), Times.Once);
        }