public void Sapato_AdicionarSapato_NomeMenorque1()
        {
            var request  = new AdicionarSapatoRequestBuilder().WithNameLength(0).Build();
            var response = new AdicionarSapatoResponse();
            var sapato   = new Sapato();

            response.msg = "Erro ao Adicionar produto Nome invalido";
            var result = _useCase.Executar(request);

            response.Should().BeEquivalentTo(result);
        }
        public void Sapato_AdicionarSapato_QuantoRepositorioExecao()
        {
            var request  = new AdicionarSapatoRequestBuilder().Build();
            var response = new AdicionarSapatoResponse();
            var sapato   = new Sapato();

            response.msg = "Erro ao Adicionar Sapato!";
            _repositoriosSapatos.Setup(repositorio => repositorio.Add(sapato));
            _adicionarSapatoAdapter.Setup(adapter => adapter.converterResquesteParaSapato(request)).Throws(new Exception());
            var result = _useCase.Executar(request);

            response.Should().BeEquivalentTo(result);
        }
        public void Sapato_AdicionarSapato_QuandoRetornarSucesso()
        {
            var request  = new AdicionarSapatoRequestBuilder().Build();
            var response = new AdicionarSapatoResponse();
            var sapato   = new Sapato();

            response.msg = "Sapato adicionado com sucesso!";
            _repositoriosSapatos.Setup(repositorio => repositorio.Add(sapato));
            _adicionarSapatoAdapter.Setup(adapter => adapter.converterResquesteParaSapato(request)).Returns(sapato);

            var result = _useCase.Executar(request);

            response.Should().BeEquivalentTo(result);
        }
        public AdicionarSapatoResponse Executar(AdicionarSapatoRequest request)
        {
            var response = new AdicionarSapatoResponse();

            try
            {
                if (request.nome.Length < 1)
                {
                    response.msg = "Erro ao Adicionar produto Nome invalido";
                    return(response);
                }
                var sapatoAdicionar = _adapter.converterResquesteParaSapato(request);
                _repositorioSapatos.Add(sapatoAdicionar);
                response.msg = "Sapato adicionado com sucesso!";
                return(response);
            }
            catch
            {
                response.msg = "Erro ao Adicionar Sapato!";
                return(response);
            }
        }