Exemplo n.º 1
0
        public async Task GetExcluir()
        {
            LivroController controller = new LivroController(ObterMockAplicacao());
            ViewResult      result     = await controller.Excluir(1) as ViewResult;

            Assert.IsNotNull(result);
        }
Exemplo n.º 2
0
        public async Task Index()
        {
            LivroController controller = new LivroController(ObterMockAplicacao());
            ViewResult      result     = await controller.Index() as ViewResult;

            Assert.IsNotNull(result);
        }
Exemplo n.º 3
0
        public void Editar(int id)
        {
            LivroController controller = new LivroController();
            ViewResult      result     = controller.Editar(id) as ViewResult;

            Assert.IsNotNull(result);
        }
Exemplo n.º 4
0
        public void Excluir()
        {
            LivroController controller = new LivroController();
            ViewResult      result     = controller.Excluir(id: 7) as ViewResult;

            Assert.IsNotNull(result);
        }
Exemplo n.º 5
0
        public void GetInserir()
        {
            LivroController controller = new LivroController(ObterMockAplicacao());
            ViewResult      result     = controller.Inserir() as ViewResult;

            Assert.IsNotNull(result);
        }
Exemplo n.º 6
0
        public void Buscar()
        {
            LivroController controller = new LivroController();
            ViewResult      result     = controller.Buscar(autor: "Eddie") as ViewResult;

            Assert.IsNotNull(result);
        }
Exemplo n.º 7
0
        private void buttonCadastroPedido_Click(object sender, EventArgs e)
        {
            ItemController  itemc  = new ItemController();
            LivroController livroc = new LivroController();

            item.IdPedido   = a.IdPedido;
            item.Quantidade = int.Parse(textQuantidade.Text);
            item.IdLivro    = int.Parse(comboBoxLivro.SelectedValue.ToString());
            Livro livro1  = livroc.ObterEstoquePorId(item.IdLivro);
            int   estoque = livro1.Estoque;

            if (estoque >= item.Quantidade)
            {
                livroc.AlterarEstoque(item.Quantidade, estoque, item.IdLivro);

                Livro  livro = livroc.ObterPrecoPorId(item.IdLivro);
                double valor = livro.Preco;
                labelValorTotal.Text = (Convert.ToDouble(labelValorTotal.Text) + (valor * item.Quantidade)).ToString();

                itemc.Requisicao(buttonCadastroPedido.Text, item);
                if (item.IdPedido != 0)
                {
                    this.joinVIEWTableAdapter1.FillByjoin(this.livrariaDBDataSet24joinview.JoinVIEW);
                }
            }
            else if (item.IdPedido != 0)
            {
                MessageBox.Show("Estoque Insuficiente!! \nO estoque é de " + estoque + " livros");
            }
        }
Exemplo n.º 8
0
        public void Editar()
        {
            var        controller = new LivroController();
            ViewResult result     = controller.Editar() as ViewResult;

            // Assert
            Assert.IsNotNull(result);
        }
Exemplo n.º 9
0
      private void btnExcluir_Click(object sender, EventArgs e)
      {
          LivroController livroCon = new LivroController();
          Livro           livro    = new Livro();

          livro.IdLivro = this.id;
          livroCon.Requisicao(btnExcluir.Text, livro);
      }
Exemplo n.º 10
0
        public LivroControllerTest()
        {
            _fixture = new Fixture();

            _request  = _fixture.Create <RequestLivro>();
            _response = _fixture.Create <BaseResponse>();
            _service  = Substitute.For <ILivroService>();
            _logger   = Substitute.For <ILogger <LivroController> >();

            _controller = new LivroController(_service, _logger);
        }
Exemplo n.º 11
0
        public async Task PostExcluir()
        {
            var contexto = new Mock <DbContext>();
            var mockSet  = new Mock <DbSet <Livro> >();

            Livro[] livros = ObterLivrosCenarioTeste();
            ConfigurarMockSet(livros, contexto, mockSet);
            var             aplicacao  = new LivroAplicacao(contexto.Object);
            LivroController controller = new LivroController(aplicacao);
            ViewResult      result     = await controller.ExcluirConfirmado(1) as ViewResult;

            Assert.IsNull(contexto.Object.Set <Livro>().Find(1));
            contexto.Verify(m => m.SaveChangesAsync(), Times.AtLeastOnce(), "É necessário finalizar o contexto!");
        }
Exemplo n.º 12
0
        public void Metodo_Create_Retorna_View_Quando_Model_Is_Invalid()
        {
            // Arrange
            var mockRepository = new Mock <ILivroRepository>();
            var controller     = new LivroController(mockRepository.Object);

            controller.ModelState.AddModelError("", "Erro de validação.");

            // Act
            var actionResult = controller.Create(new LivroViewModel());

            // Assert
            actionResult.Should().BeOfType <ViewResult>();
        }
Exemplo n.º 13
0
        public void TesteDelete()
        {
            var mockRepo = new Mock <ILivroRepository>();

            livormock = GetByIdMok();

            mockRepo.Setup(repo => repo.Delete(livormock.Id));

            var controller = new LivroController(mockRepo.Object);

            var result = controller.Delete(livormock.Id);

            Assert.IsType <NotFoundResult>(result.Result);
        }
Exemplo n.º 14
0
        public async Task E_Possivel_Invocar_a_Controller_Create()
        {
            var serviceMock   = new Mock <ILivroServices>();
            var serviceLogger = new Mock <ILogger <LivroController> >();
            var livro         = NovoLivro();

            serviceMock.Setup(m => m.Create(It.IsAny <LivroDto>())).ReturnsAsync(
                new LivroDto
            {
                Ativo          = livro.Ativo,
                Autor          = livro.Autor,
                Categoria      = livro.Categoria,
                DataLancamento = livro.DataLancamento,
                Emissora       = livro.Emissora,
                Quantidade     = livro.Quantidade,
                Titulo         = livro.Titulo,
                Valor          = livro.Valor
            }
                );


            _controller = new LivroController(serviceMock.Object, serviceLogger.Object);

            Mock <IUrlHelper> url = new Mock <IUrlHelper>();

            url.Setup(x => x.Link(It.IsAny <string>(), It.IsAny <object>())).Returns("http://localhost:5000");
            _controller.Url = url.Object;

            var livroDto = new LivroDto
            {
                Ativo          = livro.Ativo,
                Autor          = livro.Autor,
                Categoria      = livro.Categoria,
                DataLancamento = livro.DataLancamento,
                Emissora       = livro.Emissora,
                Quantidade     = livro.Quantidade,
                Titulo         = livro.Titulo,
                Valor          = livro.Valor
            };

            var result = await _controller.Create(livroDto);

            Assert.True(result is CreatedResult);

            var resultValue = ((CreatedResult)result).Value as LivroDto;

            Assert.NotNull(resultValue);
            Assert.Equal(livroDto.Titulo, resultValue.Titulo);
            Assert.Equal(livroDto.Autor, resultValue.Autor);
        }
Exemplo n.º 15
0
        public void TestePost()
        {
            var mockRepo = new Mock <ILivroRepository>();

            livormock = GetByIdMok();

            mockRepo.Setup(repo => repo.Create(livormock));


            var controller = new LivroController(mockRepo.Object);

            var result = controller.Post(livormock);

            Assert.IsType <Task <IActionResult> >(result);
        }
Exemplo n.º 16
0
        public void TesteGetAll()
        {
            var mockRepo = new Mock <ILivroRepository>();

            mockRepo.Setup(repo => repo.GetAllAsync())
            .ReturnsAsync(GetTestLivros());

            var controller = new LivroController(mockRepo.Object);

            var result = controller.Get();

            var items = Assert.IsType <List <Livro> >(GetTestLivros());

            Assert.Equal(2, items.Count);
        }
Exemplo n.º 17
0
        private void btnAlterar_Click(object sender, EventArgs e)
        {
            ItemController  itemCon = new ItemController();
            LivroController livroc  = new LivroController();
            Item            item    = new Item();

            item.Quantidade = Convert.ToInt32(txtQuantidade.Text);
            item.IdItem     = this.id;
            item.IdItem     = this.idLivro;
            item.IdPedido   = this.idPedido;
            Livro livro1  = livroc.ObterEstoquePorId(item.IdLivro);
            int   estoque = livro1.Estoque;

            itemCon.Requisicao(btnAlterar.Text, item);
        }
Exemplo n.º 18
0
      private void btnAlterar_Click(object sender, EventArgs e)
      {
          LivroController livroCon = new LivroController();
          Livro           livro    = new Livro();

          livro.NomeLivro = txtNomeLivro.Text;
          livro.Categoria = txtCategoria.Text;
          livro.Preco     = Convert.ToDouble(txtPreco.Text);
          livro.Edicao    = txtEdicao.Text;
          livro.Autor     = txtAutor.Text;
          livro.Estoque   = Convert.ToInt32(txtEstoque.Text);
          livro.IdEditora = this.idEditora;
          livro.IdLivro   = this.id;

          livroCon.Requisicao(btnAlterar.Text, livro);
      }
Exemplo n.º 19
0
        private void buttonCadastroLivro_Click(object sender, EventArgs e)
        {
            LivroController liController = new LivroController();

            Livro livro = new Livro();

            livro.NomeLivro = textBoxNomeLivro.Text;
            livro.Autor     = textBoxAutor.Text;
            livro.Preco     = double.Parse(textBoxPreco.Text);
            livro.Edicao    = textBoxEdicao.Text;
            livro.Categoria = comboBoxCategoria.SelectedItem.ToString();
            livro.Estoque   = int.Parse(textEstoque.Text);
            livro.IdEditora = int.Parse(comboBoxNomeEditora.SelectedValue.ToString());

            liController.Requisicao(buttonCadastroLivro.Text, livro);
        }
Exemplo n.º 20
0
        public void TesteGet()
        {
            var mockRepo = new Mock <ILivroRepository>();

            livormock = GetByIdMok();

            mockRepo.Setup(repo => repo.GetById(livormock.Id))
            .ReturnsAsync(GetByIdMok());


            var controller = new LivroController(mockRepo.Object);

            var result = controller.Get(livormock.Id).Result as OkObjectResult;

            Assert.IsType <Livro>(result.Value);
            Assert.Equal(livormock.Id, (result.Value as Livro).Id);
        }
Exemplo n.º 21
0
        public async Task PostAlterar()
        {
            //nesse caso, mocamos o aplicacao, porque o método do update do EF6 não permite mock
            var aplicacao = new Mock <ILivroAplicacao>();

            Livro[] livros       = ObterLivrosCenarioTeste();
            var     livro        = livros.Where(d => d.Id == 1).First();
            var     nomeAnterior = livro.Nome;

            livro.Nome = "Novo nome";
            aplicacao.Setup(a => a.Alterar(It.IsAny <Livro>())).Returns(Task.FromResult(false)).Verifiable();
            LivroController controller = new LivroController(aplicacao.Object);
            ViewResult      result     = await controller.Alterar(livro) as ViewResult;

            var livroAlterado = livros.Where(d => d.Id == 1).FirstOrDefault();

            Assert.AreNotEqual(nomeAnterior, livroAlterado.Nome);
            aplicacao.Verify(m => m.Alterar(It.IsAny <Livro>()), Times.AtLeastOnce(), "É necessário invocar o método alterar da interface ILivroAplicacao!");
        }
Exemplo n.º 22
0
        public async Task E_Possivel_Invocar_a_Controller_Create_BadRequest()
        {
            var serviceMock   = new Mock <ILivroServices>();
            var serviceLogger = new Mock <ILogger <LivroController> >();

            serviceMock.Setup(m => m.Create(It.IsAny <LivroDto>())).ReturnsAsync(
                new LivroDto
            {
                Ativo          = true,
                Autor          = Faker.Name.FullName(),
                Categoria      = Faker.Name.First(),
                DataLancamento = Faker.DateOfBirth.Next(),
                Emissora       = Faker.Company.Name(),
                Quantidade     = Faker.RandomNumber.Next(),
                Titulo         = Faker.Name.FullName(),
                Valor          = Faker.RandomNumber.Next()
            }
                );

            _controller = new LivroController(serviceMock.Object, serviceLogger.Object);
            _controller.ModelState.AddModelError("Titulo", "É um Campo Obrigatório");

            Mock <IUrlHelper> url = new Mock <IUrlHelper>();

            url.Setup(x => x.Link(It.IsAny <string>(), It.IsAny <object>())).Returns("http://localhost:5000");
            _controller.Url = url.Object;

            var userDtoCreate = new LivroDto
            {
                Ativo          = true,
                Autor          = Faker.Name.FullName(),
                Categoria      = Faker.Name.First(),
                DataLancamento = Faker.DateOfBirth.Next(),
                Emissora       = Faker.Company.Name(),
                Quantidade     = Faker.RandomNumber.Next(),
                Titulo         = Faker.Name.FullName(),
                Valor          = Faker.RandomNumber.Next()
            };

            var result = await _controller.Create(userDtoCreate);

            Assert.True(result is BadRequestObjectResult);
        }
Exemplo n.º 23
0
        public async Task PostInserir()
        {
            var contexto = new Mock <DbContext>();
            var mockSet  = new Mock <DbSet <Livro> >();

            Livro[] livros = ObterLivrosCenarioTeste();
            ConfigurarMockSet(livros, contexto, mockSet);
            var aplicacao = new LivroAplicacao(contexto.Object);
            var livro     = new Livro
            {
                Id     = 5,
                Nome   = "Livro teste",
                Autor  = "Autor teste",
                Ano    = 2011,
                Edicao = 1
            };
            LivroController controller = new LivroController(aplicacao);
            ViewResult      result     = await controller.Inserir(livro) as ViewResult;

            mockSet.Verify(m => m.AddRange(It.IsAny <IEnumerable <Livro> >()), Times.Once(), "Um livro deve ser inserido pelo método");
            contexto.Verify(m => m.SaveChangesAsync(), Times.AtLeastOnce(), "É necessário finalizar o contexto!");
        }
Exemplo n.º 24
0
        public void GetDetalhesLivro_Return_OkResult()
        {
            //Arrange

            DbContextOptions <SqlServerContext> dbContextOptions = new DbContextOptionsBuilder <SqlServerContext>()
                                                                   .UseSqlServer("Server=(localdb)\\mssqllocaldb;Database=Livraria;Trusted_Connection=True;")
                                                                   .Options;

            SqlServerContext   context            = new SqlServerContext(dbContextOptions);
            LivroRepositorio   livroRepositorio   = new LivroRepositorio(context);
            AutorRepositorio   autorRepositorio   = new AutorRepositorio(context);
            EditoraRepositorio editoraRepositorio = new EditoraRepositorio(context);
            LivroServico       livroServico       = new LivroServico(livroRepositorio, autorRepositorio, editoraRepositorio);

            var controller = new LivroController(livroServico);
            var id         = 1;

            //Act
            var data = controller.GetDetalhesLivro(id);

            //Assert
            Assert.IsType <JsonResult>(data);
        }
Exemplo n.º 25
0
 public LivroControllerTest()
 {
     autorService    = new LivroServiceMock();
     autorController = new LivroController(autorService);
 }
Exemplo n.º 26
0
        static void LerLivro(List <Livro> lista)
        {
            // VARIAVEIS
            string      isbn, titulo, genero, autor;
            bool        err;
            long        numeroTombo;
            DateTime    dataPublicacao = DateTime.Now;
            Livro       livro;
            CultureInfo CultureBr = new CultureInfo(name: "pt-BR");

            // LOCALIZAÇÃO
            Console.WriteLine("\n>>>CADASTRO LIVRO<<<\n");

            do
            { // LAÇO TRATA ISBN REPETIDO
                Console.Write("ISBN do Livro: ");
                isbn = Console.ReadLine();
                if (LivroController.IsbnExiste(lista, isbn)) // CASI TENHA ISBN REPETIDO NA LISTA
                {
                    Console.WriteLine("Livro já cadastrado.\nPrecione qualquer tecla para continuar...");
                    Console.ReadKey();
                    Console.Clear(); // LIMPA TELA
                    return;
                }
            } while (isbn == "");

            do
            { // LAÇO TRATA TITULO VAZIO
                Console.Write("Titulo do Livro: ");
                titulo = Console.ReadLine();
            } while (titulo == "");

            do
            { // LAÇO TRATA GENERO VAZIO
                Console.Write("Gênero do Livro: ");
                genero = Console.ReadLine();
            } while (genero == "");

            do
            { // LAÇO TRATA DATA POSTERIOR A DATA ATUAL
                err = false;
                try
                {
                    Console.Write("Data de Publicacao do Livro (dd/mm/yyyy): ");
                    dataPublicacao = DateTime.ParseExact(Console.ReadLine(), "d", CultureBr);
                    if ((Convert.ToDateTime(dataPublicacao)) > (Convert.ToDateTime(DateTime.Now)))
                    {
                        Console.WriteLine("Informe uma data anterior a data de hoje");
                        err = true;
                    }
                }
                catch (Exception)
                {
                    Console.WriteLine("Informe a data (dd/mm/yyyy)");
                    err = true;
                }
            } while (err);

            do
            { // LAÇO TRATA AUTOR VAZIO
                Console.Write("Autor do Livro: ");
                autor = Console.ReadLine();
            } while (autor == "");


            if (lista.Count == 0)
            {
                numeroTombo = 0;
            }
            else
            {
                numeroTombo = lista[lista.Count - 1].NumeroTombo + 1;
            }

            // IMPRIMI NÚMERO DO TOMBO PARA BIBLIOTECÁRIO ADICIONAR AO LIVRO FÍSICO
            Console.WriteLine("\n>>>Número Tombo do Livro: " + numeroTombo + "<<<\n");
            Console.WriteLine("Pressione qualquer tecla para continuar...");
            Console.ReadKey();

            Console.Clear(); // LIMPA TELA

            // RETORNA LIVRO ESTANCIADO
            livro = new Livro()
            {
                NumeroTombo    = numeroTombo,
                Isbn           = isbn,
                Titulo         = titulo,
                Genero         = genero,
                DataPublicacao = dataPublicacao,
                Autor          = autor
            };

            // ADICIONA LIVRO NA LISTA LIVRO
            lista.Add(livro);

            // ESCREVE A LISTA NO ARQUIVO
            ArquivoController.Escrita(lista);

            Console.Clear(); // LIMPA TELA

            Console.WriteLine("\n>>>LIVRO CADASTRADO<<<\nPrecione qualquer tecla para continuar...");
            Console.ReadLine();

            Console.Clear();
        }
Exemplo n.º 27
0
        static void LerEmprestimo(List <Cliente> listaCliente, List <Livro> listaLivro, List <Emprestimo> listaEmprestimo)
        {
            // VARIAIVES
            string      cpf, numeroTombo, op;
            long        idCliente;
            bool        err;
            DateTime    dataDevolucao = DateTime.Now;
            Emprestimo  emprestimo;
            CultureInfo CultureBr = new CultureInfo(name: "pt-BR");

            // LOCALIZAÇÃO
            Console.WriteLine("\n>>>CADASTRO EMPRESTIMO<<<\n");

            do
            { // LAÇO TRATA NÚMERO TOMBO DE LIVRO
                err = false;
                Console.Write("Informe o Número Tombo do Livro: ");
                numeroTombo = Console.ReadLine();

                // SE EXISTIR LIVRO NA LISTA DE EMPRESTADO E ESTAR COM STATUS EMPRESTADO RETORNA O OBJETO
                emprestimo = EmprestimoController.NumeroTomboEmprestado(listaEmprestimo, long.Parse(numeroTombo));

                // CASO NÃO EXISTIR NÚMERO TOMBO DE LIVRO OU ELE ESTAR EMPRESTADO
                if (!LivroController.NumeroTomboExiste(listaLivro, long.Parse(numeroTombo)) || emprestimo != null)
                {
                    // CAMINHOS PARA USUARIO ESCOLHER
                    Console.WriteLine("Livro indisponível para empréstimo.\n1 - Digitar Número Tombo novamente" +
                                      "\n2 - Cadastrar Livro\n3 - Voltar ao Menu Principal ");
                    op = Console.ReadLine();

                    switch (op)                                             // SWITCH DE OPÇÕES PARA SABER QUAL CAMINHO USUARIO ESCOLHEU
                    {
                    case "2":                                               // CADASTRO CLIENTE
                        Console.Clear();                                    // LIMPA TELA
                        LerLivro(listaLivro);
                        err = true;                                         // INFORMAR O CPF NOVAMENTE POREM COM CPF JÁ CADASTRADO
                        Console.WriteLine("\n>>>CADASTRO EMPRESTIMO<<<\n"); // LOCALIZAÇÃO
                        break;

                    case "3":            // VOLTAR MENU PRINCIPAL
                        Console.Clear(); // LIMPA TELA
                        return;

                    default:     // DIGITAR CPF NOVAMENTE OU OUTRO NÚMERO/LETRA NÃO INFORMADO NO MENU
                        err = true;
                        break;
                    }
                }
            } while (err);

            do
            {
                err = false;

                // INFORMA CPF
                Console.Write("Informe o CPF do Cliente: ");
                cpf = Console.ReadLine();

                // RETORNA ID DE CLIENTE QUE TEM ESSE CPF
                idCliente = ClienteController.RetornaCLienteCpf(listaCliente, cpf);

                // CASO CPF NÃO EXISTA
                if (idCliente == -1)
                {
                    // CAMINHOS CASO CPF NÃO RECONHECIDO
                    Console.WriteLine("Cliente não cadastrado.\n1 - Digitar CPF novamente" +
                                      "\n2 - Cadastrar Cliente\n3 - Voltar ao Menu Principal ");
                    op = Console.ReadLine();

                    switch (op)                                                               // SWITCH DE OPÇÕES PARA SABER QUAL CAMINHO USUARIO ESCOLHEU
                    {
                    case "2":                                                                 // CADASTRO CLIENTE
                        Console.Clear();                                                      // LIMPA TELA
                        LerCliente(listaCliente);
                        err = true;                                                           // INFORMAR O CPF NOVAMENTE POREM COM CPF JÁ CADASTRADO
                        Console.WriteLine("\n>>>CADASTRO EMPRESTIMO<<<\n");                   // LOCALIZAÇÃO
                        Console.WriteLine("Informe o Número Tombo do Livro: " + numeroTombo); // LOCALIZAÇÃO
                        break;

                    case "3":            // VOLTAR MENU PRINCIPAL
                        Console.Clear(); // LIMPA TELA
                        return;

                    default:     // DIGITAR CPF NOVAMENTE OU OUTRO NÚMERO/LETRA NÃO INFORMADO NO MENU
                        err = true;
                        break;
                    }
                }
            } while (err);

            // ARMAZENA DATA DE DEVOLUÇÃO
            do
            {
                err = false;
                try
                {
                    Console.Write("Data de Devolução (dd/mm/yyyy): ");
                    dataDevolucao = DateTime.ParseExact(Console.ReadLine(), "d", CultureBr);
                    if ((Convert.ToDateTime(dataDevolucao)) < (Convert.ToDateTime(DateTime.Now)))
                    {
                        Console.WriteLine("Informe uma data posterior a data atual");
                        err = true;
                    }
                }
                catch (Exception)
                {
                    Console.WriteLine("Informe a data (dd/mm/yyyy)");
                    err = true;
                }
            } while (err);


            // ESTANCIA EMPRESTIMO ESTANCIADO
            emprestimo = new Emprestimo()
            {
                IdCliente        = idCliente,
                NumeroTombo      = long.Parse(numeroTombo),
                DataEmprestimo   = DateTime.Now,
                DataDevolucao    = dataDevolucao,
                StatusEmprestimo = 1
            };

            // ADICIONA O EMPRESTIMO NA LISTA EMPRESTIMO
            listaEmprestimo.Add(emprestimo);

            // ADICIONA LISTA NO ARQUIVO
            ArquivoController.Escrita(listaEmprestimo);

            Console.Clear(); // LIMPA TELA

            Console.WriteLine("\n>>>EMPRESTIMO CADASTRADO<<<\nPrecione qualquer tecla para continuar...");
            Console.ReadLine();

            Console.Clear();
        }