public ClasseTestHelperMoq() { _HelperMockRepository = new HelperMockRepository(); _helperMockCollaborateur = _HelperMockRepository.Create <ICollaborateur>(); _classe = new Classe(_helperMockCollaborateur.Object); }
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); }
public CadastroAdicionalUseCaseTest() { _mockAdicionalRepository = new Mock <IAdicionalRepository>(); _cadastroAdicionalUseCase = new CadastroAdicionalUseCase(_mockAdicionalRepository.Object); _mockAdicionalRepository .Setup(x => x.BuscarTodos()) .Returns(HelperMock.ListaMockAdicionaisPersistidos()); }
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); }
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); }
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); }
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); }
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); }
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()); }
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); }
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); }
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); }