Beispiel #1
0
        public void AdicionarItemCarrinho()
        {
            Produto produto = new Produto
            {
                ProdutoId = 1,
                Nome      = "Teste1"
            };

            Produto produto2 = new Produto
            {
                ProdutoId = 2,
                Nome      = "Teste2"
            };

            Carrinho carrinho = new Carrinho();

            carrinho.AdicionarItem(produto, 3);

            CarrinhoController controller = new CarrinhoController();

            //controller.Adicionar(carrinho, 2, string.Empty);

            Assert.AreEqual(carrinho.ItensCarrinho.Count(), 1);
            Assert.AreEqual(carrinho.ItensCarrinho.ToArray()[0].Produto.ProdutoId, 1);
        }
        public async Task Fazer_Checkout_Com_Carrinho_Deveria_Publicar_CheckoutEvent()
        {
            //arrange
            var fakeClienteId       = "1";
            var fakeCarrinhoCliente = GetCarrinhoClienteFake(fakeClienteId);

            _carrinhoRepositoryMock.Setup(x => x.GetCarrinhoAsync(It.IsAny <string>()))
            .Returns(Task.FromResult(fakeCarrinhoCliente))
            .Verifiable();

            //_identityServiceMock.Setup(x => x.GetUserIdentity()).Returns(fakeClienteId)
            //    .Verifiable();

            var carrinhoController = new CarrinhoController(
                _carrinhoRepositoryMock.Object, _identityServiceMock.Object, _serviceBusMock.Object);

            carrinhoController.ControllerContext = new ControllerContext()
            {
                HttpContext = new DefaultHttpContext()
                {
                    User = new ClaimsPrincipal(
                        new ClaimsIdentity(new Claim[] { new Claim("unique_name", "testuser") }))
                }
            };

            //Act
            ActionResult <bool> actionResult = await carrinhoController.Checkout(fakeClienteId, new CadastroViewModel());

            //assert
            _serviceBusMock.Verify(mock => mock.Publish(It.IsAny <CheckoutEvent>(), null), Times.Once);
            Assert.NotNull(actionResult);
            _carrinhoRepositoryMock.Verify();
            //_identityServiceMock.Verify();
        }
        public async Task Get_carrinho_cliente_sucesso()
        {
            //Arrange
            var fakeClienteId = "1";
            var carrinhoFake  = GetCarrinhoClienteFake(fakeClienteId);

            _carrinhoRepositoryMock
            .Setup(x => x.GetCarrinhoAsync(It.IsAny <string>()))
            .Returns(Task.FromResult(carrinhoFake))
            .Verifiable();
            _identityServiceMock.Setup(x => x.GetUserIdentity()).Returns(fakeClienteId);
            _serviceBusMock.Setup(x => x.Publish(It.IsAny <CheckoutEvent>(), null));

            //Act
            var carrinhoController = new CarrinhoController(
                _carrinhoRepositoryMock.Object,
                _identityServiceMock.Object,
                _serviceBusMock.Object);

            var actionResult = await carrinhoController.Get(fakeClienteId) as OkObjectResult;

            //Assert
            OkObjectResult  okObjectResult  = Assert.IsType <OkObjectResult>(actionResult);
            CarrinhoCliente carrinhoCliente = Assert.IsAssignableFrom <CarrinhoCliente>(okObjectResult.Value);

            Assert.Equal(fakeClienteId, carrinhoCliente.ClienteId);
            Assert.Equal(carrinhoFake.Itens[0].ProdutoId, carrinhoCliente.Itens[0].ProdutoId);
            Assert.Equal(carrinhoFake.Itens[1].ProdutoId, carrinhoCliente.Itens[1].ProdutoId);
            Assert.Equal(carrinhoFake.Itens[2].ProdutoId, carrinhoCliente.Itens[2].ProdutoId);
            _carrinhoRepositoryMock.Verify();
            _identityServiceMock.Verify();
            _serviceBusMock.Verify();
        }
        public async Task Post_carrinho_cliente_not_found()
        {
            //Arrange
            var fakeClienteId       = "1";
            var fakeCarrinhoCliente = GetCarrinhoClienteFake(fakeClienteId);

            _carrinhoRepositoryMock.Setup(x => x.UpdateCarrinhoAsync(It.IsAny <CarrinhoCliente>()))
            .ThrowsAsync(new KeyNotFoundException())
            .Verifiable();
            _identityServiceMock.Setup(x => x.GetUserIdentity()).Returns(fakeClienteId);
            _serviceBusMock.Setup(x => x.Publish(It.IsAny <CheckoutEvent>(), null));

            //Act
            var carrinhoController = new CarrinhoController(
                _carrinhoRepositoryMock.Object,
                _identityServiceMock.Object,
                _serviceBusMock.Object);

            var actionResult = await carrinhoController.Post(fakeCarrinhoCliente);

            //Assert
            NotFoundResult notFoundResult = Assert.IsType <NotFoundResult>(actionResult);

            _carrinhoRepositoryMock.Verify();
            _identityServiceMock.Verify();
            _serviceBusMock.Verify();
        }
        public void AdicionarItemAoCarrinho()
        {
            //Arrange - Preparação
            Produto produto1 = new Produto
            {
                ProdutoId = 1,
                Nome      = "Teste1"
            };

            Produto produto2 = new Produto
            {
                ProdutoId = 2,
                Nome      = "Teste2"
            };

            Carrinho carrinho = new Carrinho();

            carrinho.AdicionarItem(produto1, 3);

            CarrinhoController controller = new CarrinhoController();

            //Act - Estímulo
            controller.Adicionar(carrinho, 2, "");

            //Assert - Verificações
            Assert.AreEqual(carrinho.ItensCarrinho.Count(), 1);
            Assert.AreEqual(carrinho.ItensCarrinho.ToArray()[0].Produto.ProdutoId, 1);
        }
        public async Task Get_carrinho_cliente_carrinho_not_found()
        {
            //arrange
            string          clienteId    = "123";
            CarrinhoCliente carrinhoFake = GetCarrinhoClienteFake(clienteId);

            _carrinhoRepositoryMock
            .Setup(r => r.GetCarrinhoAsync(clienteId))
            .ReturnsAsync((CarrinhoCliente)null)
            .Verifiable();

            var controller =
                new CarrinhoController(_carrinhoRepositoryMock.Object,
                                       _identityServiceMock.Object, _serviceBusMock.Object);

            //act
            IActionResult actionResult = await controller.Get(clienteId);

            //assert
            OkObjectResult  okObjectResult  = Assert.IsType <OkObjectResult>(actionResult);
            CarrinhoCliente carrinhoCliente = Assert.IsAssignableFrom <CarrinhoCliente>(okObjectResult.Value);

            Assert.Equal(clienteId, carrinhoCliente.ClienteId);
            _carrinhoRepositoryMock.Verify();
        }
        public async Task Post_carrinho_cliente_sucesso()
        {
            //Arrange
            var fakeClienteId       = "1";
            var fakeCarrinhoCliente = GetCarrinhoClienteFake(fakeClienteId);

            _carrinhoRepositoryMock.Setup(x => x.UpdateCarrinhoAsync(It.IsAny <CarrinhoCliente>()))
            .Returns(Task.FromResult(fakeCarrinhoCliente))
            .Verifiable();
            _serviceBusMock.Setup(x => x.Publish(It.IsAny <CheckoutEvent>(), null))
            .Verifiable();

            //Act
            var carrinhoController = new CarrinhoController(
                _carrinhoRepositoryMock.Object,
                _identityServiceMock.Object,
                _serviceBusMock.Object);

            var actionResult = await carrinhoController.Post(fakeCarrinhoCliente) as OkObjectResult;

            //Assert
            Assert.Equal(actionResult.StatusCode, (int)System.Net.HttpStatusCode.OK);
            Assert.Equal(((CarrinhoCliente)actionResult.Value).ClienteId, fakeClienteId);

            _carrinhoRepositoryMock.Verify();
        }
        public void AdicionarItemCarrinho()
        {
            Produto p1 = new Produto
            {
                ProdutoId = 1,
                Nome      = "Teste"
            };
            Produto p2 = new Produto
            {
                ProdutoId = 2,
                Nome      = "Teste3"
            };

            Carrinho carrinho = new Carrinho();

            carrinho.AdicionarItem(p1, 3);

            carrinho.AdicionarItem(p2, 2);

            CarrinhoController controller = new CarrinhoController();

            //Action
            controller.Adicionar(carrinho, 2, " ");

            //Assert
            Assert.AreEqual(carrinho.ItensCarrinho.Count(), 2);

            Assert.AreEqual(carrinho.ItensCarrinho.ToArray()[0].Produto.ProdutoId, 1);
        }
        private void btn_CCompra_Click(object sender, RoutedEventArgs e)
        {
            CarrinhoController cc  = new CarrinhoController();
            Carrinho           car = new Carrinho();

            car.List    = sc.ListarSacolas();
            car.Data    = DateTime.Now;
            car.vtTotal = cc.somartdnocarrinho(car.List);

            List <Sacola> w = sc.ListarSacolas();

            listCarrinho.ItemsSource = w;

            if (w.Count != 0)
            {
                MessageBoxResult result = MessageBox.Show("Deseja finalizar a venda?", "Venda", MessageBoxButton.YesNo);
                if (result == MessageBoxResult.Yes)
                {
                    cc.SalvarCarrinho(car);
                    sc.LimparSacola();
                    listCarrinho.ItemsSource = sc.ListarSacolas();
                    MessageBox.Show("Venda concluída com sucesso, valor total da compra: R$ " + calc_vtCompra(w));
                    lblProdAdd.Content    = "";
                    lblSubTotal.Content   = "0,00";
                    lb_valorTotal.Content = "0,00";
                    lblQtd.Content        = "0";
                }
            }
            else
            {
                MessageBox.Show("Não há nenhum produto no carrinho de compras.");
            }
        }
Beispiel #10
0
        public void AdicionarItemCarrinho()
        {
            //Preparação (Arrange ) eo estímulo (Act), das verificações (Asserts)

            //Arrange
            Produto produto1 = new Produto {
                ProdutoId = 1,
                Nome      = "Teste 1"
            };

            Produto produto2 = new Produto
            {
                ProdutoId = 2,
                Nome      = "Teste 2"
            };

            Carrinho carrinho = new Carrinho();

            //carrinho.AdicionarItem(produto1);

            //carrinho.AdicionarItem(produto2);

            CarrinhoController controller = new CarrinhoController();

            //Act

            //controller.Adicionar(carrinho, 2, "");

            //Asserts

            Assert.AreEqual(carrinho.ItensCarrinho.Count(), 2);

            Assert.AreEqual(carrinho.ItensCarrinho.ToArray()[0].Produto.ProdutoId, 1);
        }
        public void AdicionarItemAoCarrinho()
        {
            Produto produto1 = new Produto
            {
                ProdutoId = 1,
                Nome      = "Teste1"
            };


            Produto produto2 = new Produto
            {
                ProdutoId = 2,
                Nome      = "Teste2"
            };


            Carrinho carrinho = new Carrinho();

            carrinho.AdicionarItem(produto1, 3);

            carrinho.AdicionarItem(produto2, 4);


            CarrinhoController controller = new CarrinhoController();

            //Act

            //controller.Adicionar(carrinho, 2, "");

            //Assert

            Assert.AreEqual(carrinho.ItensCarrinho.Count(), 2);

            Assert.AreEqual(carrinho.ItensCarrinho.ToArray()[0].Produto.ProdutoId, 1);
        }
        public async Task AddItem_success()
        {
            //arrange
            var          clienteId = "123";
            var          carrinho  = GetCarrinhoClienteFake(clienteId);
            ItemCarrinho input     = new ItemCarrinho("004", "004", "produto 004", 45.67m, 4);
            var          itens     = carrinho.Itens;

            itens.Add(input);
            _carrinhoRepositoryMock
            .Setup(c => c.AddCarrinhoAsync(clienteId, It.IsAny <ItemCarrinho>()))
            .ReturnsAsync(new CarrinhoCliente
            {
                ClienteId = clienteId,
                Itens     = itens
            })
            .Verifiable();

            var controller = new CarrinhoController(
                _carrinhoRepositoryMock.Object,
                _identityServiceMock.Object,
                _serviceBusMock.Object);

            //act
            ActionResult <CarrinhoCliente> actionResult = await controller.AddItem(clienteId, input);

            //assert
            OkObjectResult  okObjectResult  = Assert.IsType <OkObjectResult>(actionResult.Result);
            CarrinhoCliente carrinhoCliente = Assert.IsAssignableFrom <CarrinhoCliente>(okObjectResult.Value);

            Assert.Equal(4, carrinhoCliente.Itens.Count());
            _carrinhoRepositoryMock.Verify();
            _identityServiceMock.Verify();
            _serviceBusMock.Verify();
        }
Beispiel #13
0
        public void Posso_Ver_O_Conteudo_Do_Carrinho()
        {
            Carrinho           carrinho   = new Carrinho();
            CarrinhoController controller = new CarrinhoController();

            CarrinhoViewModel resultado = (CarrinhoViewModel)controller.Index(carrinho, "minhaUrl").ViewData.Model;

            Assert.AreSame(resultado.Carrinho, carrinho);
            Assert.AreEqual(resultado.ReturnUrl, "minhaUrl");
        }
Beispiel #14
0
        public void Adiciono_Produto_No_Carrinho_Volta_Para_A_Categoria()
        {
            //Arrange
            Carrinho           carrinho   = new Carrinho();
            CarrinhoController controller = new CarrinhoController();

            //Act
            RedirectToRouteResult result = controller.Adicionar(carrinho, 2, 1, "minhaUrl");

            // Assert
            Assert.AreEqual(result.RouteValues["action"], "Index");
            Assert.AreEqual(result.RouteValues["returnUrl"], "minhaUrl");
        }
        public void Adiciona_Produto_E_RetornaCategoria_Na_Url()
        {
            //Arrange
            Carrinho carrinho = new Carrinho();

            //Act
            CarrinhoController controller = new CarrinhoController();

            RedirectToRouteResult result = controller.Adicionar(carrinho, 2, "minhaUrl");

            //Assert
            Assert.AreEqual(result.RouteValues["action"], "Index");
            Assert.AreEqual(result.RouteValues["returnUrl"], "minhaUrl");
        }
Beispiel #16
0
        public void VisualizarConteudoCarrinho()
        {
            //Arrange
            Carrinho carrinho = new Carrinho();

            CarrinhoController controller = new CarrinhoController();

            //Act
            CarrinhoViewModel resultado = (CarrinhoViewModel)controller.Index(carrinho, "minhaUrl").ViewData.Model;

            //Asserts
            Assert.AreSame(resultado.Carrinho, carrinho);

            Assert.AreEqual(resultado.ReturnUrl, "minhaUrl");
        }
        public async Task Get_carrinho_cliente_no_client()
        {
            //arrange
            var controller =
                new CarrinhoController(_carrinhoRepositoryMock.Object,
                                       _identityServiceMock.Object, _serviceBusMock.Object);

            //act
            IActionResult actionResult = await controller.Get(null);

            //assert
            BadRequestObjectResult badRequestObjectResult = Assert.IsType <BadRequestObjectResult>(actionResult);

            Assert.IsType <SerializableError>(badRequestObjectResult.Value);
        }
        public void Adiciono_Porduto_No_Carrinho_Volta_Para_A_Categoria()
        {
            //preparação (Arrange e o estímulo (Act), das verificações (Asserts)

            //Arrange
            Carrinho carrinho = new Carrinho();

            //A
            CarrinhoController controller = new CarrinhoController();

            RedirectToRouteResult result = controller.Adicionar(carrinho, 2, "minhaUrl");

            Assert.AreEqual(result.RouteValues["action"], "Index");

            Assert.AreEqual(result.RouteValues["returnUrl"], "minhaUrl");
        }
        public async Task Post_carrinho_cliente_invalid_model()
        {
            //Arrange
            var controller = new CarrinhoController(
                _carrinhoRepositoryMock.Object,
                _identityServiceMock.Object,
                _serviceBusMock.Object);

            controller.ModelState.AddModelError("ClienteId", "Required");

            //Act
            var actionResult = await controller.Post(new CarrinhoCliente());

            //Assert
            BadRequestObjectResult badRequestObjectResult = Assert.IsType <BadRequestObjectResult>(actionResult);
        }
        public void Posso_Ver_O_Conteudo_Do_Carrinho()
        {
            //Arrange

            Carrinho           carrinho   = new Carrinho();
            CarrinhoController controller = new CarrinhoController();

            //Act

            CarrinhoViewModel result = (CarrinhoViewModel)controller.Index(carrinho, "minhaUrl").ViewData.Model;



            //Assert
            Assert.AreEqual(result.Carrinho, carrinho);
            Assert.AreEqual(result.ReturnUrl, "minhaUrl");
        }
        public void Adicionar_prod_Carrinho()
        {
            //Preparação (Arrange) e o estimulo (Act), das verificações.

            //Arrange
            Carrinho carrinho = new Carrinho();

            //A
            CarrinhoController controller = new CarrinhoController();

            //Act
            // RedirectToRouteResult result = controller.Adicionar(carrinho, 2, "minhaUrl");

            //Assert.AreEqual(result.RouteValues["action"], "Index");

            //Assert.AreEqual(result.RouteValues["returnUrl"], "minhaUrl");
        }
        public void PossoVerOConteudoDoCarrinho()
        {
            #region [ Arrange ]
            Carrinho           carrinho   = new Carrinho();
            CarrinhoController controller = new CarrinhoController();
            #endregion

            #region [ Act ]
            CarrinhoViewModel resultado = (CarrinhoViewModel)controller.Index(carrinho, "minhaUrl").ViewData.Model;
            #endregion

            #region [ Assert ]
            Assert.AreSame(resultado.Carrinho, carrinho);

            Assert.AreEqual(resultado.ReturnUrl, "minhaUrl");
            #endregion
        }
        public void TestarReturnUrl()
        {
            #region [ Arrange ]
            Carrinho           carrinho   = new Carrinho();
            CarrinhoController controller = new CarrinhoController();
            #endregion

            #region [ Act ]
            RedirectToRouteResult result = controller.Adicionar(carrinho, 2, 1, "minhaUrl");
            #endregion

            #region [ Assert ]
            Assert.AreEqual(result.RouteValues["action"], "Index");

            Assert.AreEqual(result.RouteValues["returnUrl"], "minhaUrl");
            #endregion
        }
Beispiel #24
0
        public void AdicionarCarrinhoVoltarCategoria()
        {
            //Arrange
            Carrinho carrinho = new Carrinho();

            CarrinhoController controller = new CarrinhoController();

            //Act

            //////RedirectToRouteResult result = controller.Adicionar(carrinho, 2, "minhaUrl");

            //Asserts

            //////Assert.AreEqual(result.RouteValues["action"],"Index");

            //////Assert.AreEqual(result.RouteValues["returnUrl"], "minhaUrl");
        }
        public async Task UpdateItem_carrinho_invalid_model()
        {
            //arrange
            var          clienteId  = "123";
            ItemCarrinho input      = new ItemCarrinho("004", "004", "produto 004", 45.67m, 4);
            var          controller = new CarrinhoController(
                _carrinhoRepositoryMock.Object,
                _identityServiceMock.Object,
                _serviceBusMock.Object);

            controller.ModelState.AddModelError("ProdutoId", "Required");

            //act
            ActionResult <UpdateQuantidadeOutput> actionResult = await controller.UpdateItem(clienteId, new UpdateQuantidadeInput(input.ProdutoId, input.Quantidade));

            //assert
            Assert.IsType <BadRequestObjectResult>(actionResult.Result);
        }
Beispiel #26
0
        public void Validar_Mensagem_Produto_nao_incluido_no_carrinho(string idProduto, string idCarrinho)
        {
            //arrange
            var controller = new CarrinhoController(_carrinhoService);

            //act
            var response = controller.AdicionarProdutoAoCarrinho(
                new IncluirProdutoNoCarrinhoRequest
            {
                IdProduto  = idProduto,
                IdCarrinho = idCarrinho
            });

            //assert
            var mensagem = response.Value.Mensagem;

            Assert.AreEqual("Produto não incluído no carrinho", mensagem);
        }
Beispiel #27
0
        public void Validar_Mensagem_Produto_incluido_no_carrinho_com_sucesso(string idProduto, string idCarrinho)
        {
            //setup
            _idProdutoTemp = idProduto;
            _produtoRepository.Inserir(new Domain.Entities.Produto {
                Id = idProduto
            });
            //arrange
            var controller = new CarrinhoController(_carrinhoService);

            //act
            var response = controller.AdicionarProdutoAoCarrinho(new IncluirProdutoNoCarrinhoRequest {
                IdProduto = idProduto, IdCarrinho = idCarrinho
            });

            //assert
            Assert.AreEqual("Produto incluído no carrinho com sucesso", response.Value.Mensagem);
        }
        public async Task Fazer_Checkout_Carrinho_Not_Found()
        {
            //Arrange
            var fakeClienteId = "123";

            _carrinhoRepositoryMock.Setup(x => x.GetCarrinhoAsync(It.IsAny <string>()))
            .ThrowsAsync(new KeyNotFoundException());
            var carrinhoController = new CarrinhoController(
                _carrinhoRepositoryMock.Object,
                _identityServiceMock.Object,
                _serviceBusMock.Object);
            CadastroViewModel input = new CadastroViewModel();

            //Act
            ActionResult <bool> actionResult = await carrinhoController.Checkout(fakeClienteId, input);

            //Assert
            Assert.IsType <NotFoundResult>(actionResult.Result);
        }
        public void Posso_Ver_O_Meu_Carrinho()
        {
            //Preparação (Arrange) e o estimulo (Act), das verificações.

            //Arrange
            Carrinho carrinho = new Carrinho();

            //A
            CarrinhoController controller = new CarrinhoController();

            //Act
            CarrinhoViewModel resultado = (CarrinhoViewModel)controller.Index(carrinho, "minhaUrl").ViewData.Model;


            //Assert
            Assert.AreSame(resultado.Carrinho, carrinho);

            Assert.AreEqual(resultado.ReturnUrl, "minhaUrl");
        }
Beispiel #30
0
        public void SetUp()
        {
            serviceCollection = new ServiceCollection();

            serviceCollection.AddAutoMapperSetup();

            InjectionDependencies.RegisterDependencies(serviceCollection);

            var serviceProvider = serviceCollection.BuildServiceProvider();

            var carrinhoService = serviceProvider.GetService <ICarrinhoService>();

            _carrinhoController = new CarrinhoController(carrinhoService);

            carrinhoViewModelMock = new CarrinhoViewModel();

            calculoProdutos = "105,10";
            //resultadoOkMock = _carrinhoController.Ok(new { success = true, data = calculoProdutos });

            //resultadoErroMock = new ObjectResult($"Erro ao calcular total produtos!");
        }