public ClasseTestHelperMoq()
        {
            _HelperMockRepository    = new HelperMockRepository();
            _helperMockCollaborateur = _HelperMockRepository.Create <ICollaborateur>();

            _classe = new Classe(_helperMockCollaborateur.Object);
        }
Exemple #2
0
        public void CasoAlgumCampoNaoPassePelaValidacaoDeveLancarUmaException(string cpf, string resultado)
        {
            var cliente = HelperMock.MockCliente(cpf);

            var ex = Assert.Throws <PessoaIncorretaUseCaseException>(() => _cadastroCliente.Inserir(cliente));

            Assert.Equal(resultado, ex.Message);
        }
        public void CasoNaoExistaUmaCategoriaVinculadaAoProdutoDeveSerLancadaUmaException()
        {
            var produto = HelperMock.MockProduto("xpto", "Xtapa", idProduto: 0, idCategoria: 99, adicionais: new List <Adicional>());

            var ex = Assert.Throws <ProdutoIncorretoUseCaseException>(() => _cadastroProduto.Inserir(produto));

            Assert.Equal("Produto precisa estar vinculada a uma categoria", ex.Message);
        }
        public void DeveLancarUmaExceptionCasoOProdutoSejaDuplicadoOuPorNomeOuPorCodigo(string result, string codigo, string nome)
        {
            var produto = HelperMock.MockProduto(codigo, nome, idProduto: 0, idCategoria: 4, adicionais: new List <Adicional>());

            var ex = Assert.Throws <ProdutoIncorretoUseCaseException>(() => _cadastroProduto.Inserir(produto));

            Assert.Equal(result, ex.Message);
        }
Exemple #5
0
        public CadastroAdicionalUseCaseTest()
        {
            _mockAdicionalRepository  = new Mock <IAdicionalRepository>();
            _cadastroAdicionalUseCase = new CadastroAdicionalUseCase(_mockAdicionalRepository.Object);

            _mockAdicionalRepository
            .Setup(x => x.BuscarTodos())
            .Returns(HelperMock.ListaMockAdicionaisPersistidos());
        }
Exemple #6
0
        public void CasoADataNascimentoForAtualizadaParaMenosDeDezAnosDeveLancarUmaException()
        {
            var cliente = HelperMock.MockCliente("12345678910", 2);

            cliente.DataNascimento = DateTime.Today.AddYears(-9);

            var ex = Assert.Throws <PessoaIncorretaUseCaseException>(() => _cadastroCliente.AtualizarCliente(cliente));

            Assert.Equal("O Data de nascimento esta invalida. Cliente deve ter ao menos 10 anos", ex.Message);
        }
Exemple #7
0
        public void CasoDataDeNascimentoForMenorQueDezAnosDeveLancarUmaException()
        {
            var cliente = HelperMock.MockCliente("12345678910");

            cliente.Nome           = "Roberto Carlos";
            cliente.DataNascimento = DateTime.Today.AddYears(-9);

            var ex = Assert.Throws <PessoaIncorretaUseCaseException>(() => _cadastroCliente.Inserir(cliente));

            Assert.Equal("O Data de nascimento esta invalida. Cliente deve ter ao menos 10 anos", ex.Message);
        }
Exemple #8
0
        public CadastroClienteUseCaseTest()
        {
            var cadastroEnderecoUseCase = new Mock <ICadastroEnderecoUseCase>();

            _mockClienteRepository = new Mock <IClienteRepository>();
            _cadastroCliente       = new CadastroClienteUseCase(_mockClienteRepository.Object, cadastroEnderecoUseCase.Object);

            _mockClienteRepository
            .Setup(x => x.BuscarTodos())
            .Returns(HelperMock.MockListaCliente());
        }
        public void CasoNaoExistaUmAdicionalCadastradoNoSistemaDeveSerLancadaUmaException()
        {
            var produto = HelperMock.MockProduto("XS-001", "X-Salada", idProduto: 0, idCategoria: 1, new List <Adicional> {
                new Adicional {
                    IdentificadorUnico = 99, Tipo = "Queijo", Valor = 2.00m
                }
            });

            var ex = Assert.Throws <ProdutoIncorretoUseCaseException>(() => _cadastroProduto.Inserir(produto));

            Assert.Equal("Um dos adicionais especificados não esta cadastrado no sistema", ex.Message);
        }
Exemple #10
0
        public void DeveBuscarOsDadosDoClienteNoSistemaComSucesso()
        {
            var clienteRequest = HelperMock.MockCliente(identificadorUnico: 1);

            _mockClienteRepository
            .Setup(x => x.BuscarPorId(It.IsAny <int>()))
            .Returns(HelperMock.MockListaCliente().First(c => c.IdentificadorUnico == clienteRequest.IdentificadorUnico));

            var retorno = _cadastroCliente.BuscarPorIdentificacao(clienteRequest, nameof(clienteRequest.IdentificadorUnico));

            Assert.True(retorno != null);
            Assert.Equal(clienteRequest.IdentificadorUnico, retorno.IdentificadorUnico);
        }
Exemple #11
0
        public void DeveBuscarTodosOsEnderecosCadastradosParaOCliente()
        {
            var clienteRequest = HelperMock.MockCliente(identificadorUnico: 1);

            _mockClienteRepository
            .Setup(x => x.BuscarPorId(It.IsAny <int>()))
            .Returns(HelperMock.MockListaCliente().First(c => c.IdentificadorUnico == clienteRequest.IdentificadorUnico));

            var retorno = _cadastroCliente.BuscarPorIdentificacao(clienteRequest, nameof(clienteRequest.IdentificadorUnico));

            Assert.NotNull(retorno);
            Assert.Equal(clienteRequest.IdentificadorUnico, retorno.IdentificadorUnico);
            Assert.True(retorno.Enderecos.Count > 0);
        }
Exemple #12
0
        public CadastroCategoriaUseCaseTest()
        {
            _mockCategoriaRepository = new Mock <ICategoriaRepository>();
            _mockProdutoRepository   = new Mock <IProdutoRepository>();
            _cadastroCategoria       = new CadastroCategoriaUseCase(_mockCategoriaRepository.Object, _mockProdutoRepository.Object);

            _mockCategoriaRepository
            .Setup(x => x.BuscarTodos())
            .Returns(HelperMock.MockListaCategoriasPersistidas());

            _mockProdutoRepository
            .Setup(x => x.BuscarTodos())
            .Returns(HelperMock.MockListaProdutosPersistidos());
        }
Exemple #13
0
        public void DeveDeletarUmaCategoriaExistente()
        {
            var categoria = new Categoria {
                Tipo = "Cervejas", IdentificadorUnico = 2
            };
            var categorias = HelperMock.MockListaCategoriasPersistidas();
            var categoriasPersistidasAntes  = categorias.Count;
            int categoriasPersistidasDepois = default;

            _mockCategoriaRepository
            .Setup(x => x.Deletar(It.IsAny <Categoria>()))
            .Callback(() => categoriasPersistidasDepois = HelperComum <Categoria> .DeletarRegistro(categoria, categorias, nameof(categoria.IdentificadorUnico)));

            _cadastroCategoria.Deletar(categoria);

            Assert.True(categoriasPersistidasAntes > categoriasPersistidasDepois);
        }
        public void DeveInserirUmProdutoNoSistemaComSucesso()
        {
            var produto = HelperMock.MockProduto("gra350", "Guarana antarctica lata 350ml", idProduto: 0, idCategoria: 4, new List <Adicional>());

            _mockProdutoRepository
            .Setup(x => x.Inserir(It.IsAny <Produto>()))
            .Returns(() =>
            {
                produto.IdentificadorUnico = 5;
                return(produto);
            });

            _cadastroProduto.Inserir(produto);

            Assert.Equal(5, produto.IdentificadorUnico);
            Assert.True(produto.DataCadastro > DateTime.MinValue && produto.DataCadastro < DateTime.Now);
        }
Exemple #15
0
        public void DeveInserirUmClienteNoSistemaComSucesso()
        {
            var cliente = HelperMock.MockCliente("12345678910");

            cliente.Nome      = "Jose Aldo";
            cliente.Enderecos = new List <Endereco>();

            _mockClienteRepository
            .Setup(x => x.Inserir(It.IsAny <Cliente>()))
            .Returns(() =>
            {
                cliente.IdentificadorUnico = 1;
                return(cliente);
            });

            _cadastroCliente.Inserir(cliente);

            Assert.Equal(1, cliente.IdentificadorUnico);
            Assert.True(cliente.DataCadastro > DateTime.MinValue && cliente.DataCadastro < DateTime.Now);
        }
        public void DeveInserirUmProdutoNoSistemaComSucessoOndeExistaUmAdcinalCadastrado()
        {
            var produto = HelperMock.MockProduto("XB-001", "X-Bacon", idProduto: 0, idCategoria: 1, new List <Adicional> {
                new Adicional {
                    IdentificadorUnico = 1, Tipo = "Bacon", Valor = 2.00m
                }
            });

            _mockProdutoRepository
            .Setup(x => x.Inserir(It.IsAny <Produto>()))
            .Returns(() =>
            {
                produto.IdentificadorUnico = 5;
                return(produto);
            });

            _cadastroProduto.Inserir(produto);

            Assert.Equal(5, produto.IdentificadorUnico);
            Assert.True(produto.DataCadastro > DateTime.MinValue && produto.DataCadastro < DateTime.Now);
        }
Exemple #17
0
        public void DeveAtualizarOsDadosDoClienteNoSistemaComSucesso()
        {
            Cliente clienteBase    = default;
            var     clienteRequest = HelperMock.MockCliente("12345678909", 2);

            clienteRequest.Cpf             = "12345678900";
            clienteRequest.DataNascimento  = DateTime.Today.AddYears(-20);
            clienteRequest.Email           = "*****@*****.**";
            clienteRequest.Nome            = "Jose Roberto";
            clienteRequest.TelefoneCelular = "19998989191";
            clienteRequest.TelefoneFixo    = "1932313639";

            _mockClienteRepository
            .Setup(x => x.Atualizar(It.IsAny <Cliente>(), It.IsAny <List <string> >()))
            .Callback(() =>
            {
                clienteBase = new Cliente
                {
                    Cpf             = clienteRequest.Cpf,
                    DataNascimento  = clienteRequest.DataNascimento,
                    Email           = clienteRequest.Email,
                    Nome            = clienteRequest.Nome,
                    TelefoneCelular = clienteRequest.TelefoneCelular,
                    TelefoneFixo    = clienteRequest.TelefoneFixo
                };
            });

            _cadastroCliente.AtualizarCliente(clienteRequest);

            Assert.Equal("12345678900", clienteBase.Cpf);
            Assert.Equal(DateTime.Today.AddYears(-20), clienteBase.DataNascimento);
            Assert.Equal("*****@*****.**", clienteBase.Email);
            Assert.Equal("Jose Roberto", clienteBase.Nome);
            Assert.Equal("19998989191", clienteBase.TelefoneCelular);
            Assert.Equal("1932313639", clienteBase.TelefoneFixo);
        }