예제 #1
0
        public void Should_be_valid()
        {
            var command = new DeleteCommerceCommand()
            {
                Id = Guid.NewGuid()
            };

            command.Validate();

            Assert.True(command.Valid);
        }
예제 #2
0
        public void Should_be_invalid_when_id_is_empty()
        {
            var command = new DeleteCommerceCommand()
            {
                Id = Guid.Empty
            };

            command.Validate();

            Assert.False(command.Valid);
        }
예제 #3
0
        public void Should_return_error_when_command_is_invalid()
        {
            var command = new DeleteCommerceCommand();

            var handler = new DeleteCommerceHandler(_commerceRepositoryMock.Object);

            var result = handler.Handle(command);

            Assert.False(result.Success);
            Assert.Equal("Não foi possível remover o comércio.", result.Message);
            Assert.Contains(handler.Notifications, x => x.Property == "Id");
        }
예제 #4
0
        public void Should_return_not_found_when_commerce_is_not_found()
        {
            _commerceRepositoryMock.Setup(x => x.GetById(It.IsAny <Guid>()))
            .Returns(() => null);

            var command = new DeleteCommerceCommand()
            {
                Id = Guid.NewGuid()
            };

            var handler = new DeleteCommerceHandler(_commerceRepositoryMock.Object);

            var result = handler.Handle(command);

            Assert.False(result.Success, result.Message);
            Assert.Equal("Não foi possível encontrar o comércio.", result.Message);
        }
예제 #5
0
        public void Should_return_success()
        {
            var commerceMock = new Mock <Commerce>(string.Empty, new Mock <Site>().Object, new Mock <Address>().Object);

            _commerceRepositoryMock.Setup(x => x.GetById(It.IsAny <Guid>()))
            .Returns(commerceMock.Object);

            var command = new DeleteCommerceCommand()
            {
                Id = Guid.NewGuid()
            };

            var handler = new DeleteCommerceHandler(_commerceRepositoryMock.Object);

            var result = handler.Handle(command);

            Assert.True(result.Success);
        }
예제 #6
0
        public IActionResult Delete(Guid id)
        {
            var command = new DeleteCommerceCommand()
            {
                Id = id
            };

            var result = _deleteCommerce.Handle(command);

            if (!result.Success)
            {
                if (result.StatusCode == HttpStatusCode.BadRequest)
                {
                    return(BadRequest(result));
                }

                if (result.StatusCode == HttpStatusCode.NotFound)
                {
                    return(NotFound(result));
                }
            }

            return(Ok(result));
        }