コード例 #1
0
        public async Task Get_Invalid_ClienteId(string clienteId)
        {
            //arrange
            var controller = new OrdemDeCompraController(pedidoRepositoryMock.Object, mapper);

            SetControllerUser(clienteId, controller);

            //act
            //assert
            await Assert.ThrowsAsync <ArgumentNullException>(async() => await controller.Get(clienteId));
        }
コード例 #2
0
        public async Task Post_Invalid_Pedido_Items_Null()
        {
            //arrange
            Pedido pedido     = new Pedido(null, "clienteId", "clienteNome", "*****@*****.**", "fone", "endereco", "complemento", "bairro", "municipio", "uf", "12345-678");
            var    controller = new OrdemDeCompraController(pedidoRepositoryMock.Object, mapper);

            controller.ModelState.AddModelError("cliente", "Required");
            //act
            IActionResult actionResult = await controller.Post(pedido);

            //assert
            Assert.IsType <BadRequestObjectResult>(actionResult);
        }
コード例 #3
0
        public async Task Post_Invalid_Pedido(string clienteId, string clienteNome, string clienteEmail, string clienteTelefone, string clienteEndereco, string clienteComplemento, string clienteBairro, string clienteMunicipio, string clienteUF, string clienteCEP)
        {
            //arrange
            List <ItemPedido> itens = new List <ItemPedido> {
                new ItemPedido("001", "produto 001", 1, 12.34m)
            };
            Pedido pedido     = new Pedido(itens, clienteId, clienteNome, clienteEmail, clienteTelefone, clienteEndereco, clienteComplemento, clienteBairro, clienteMunicipio, clienteUF, clienteCEP);
            var    controller = new OrdemDeCompraController(pedidoRepositoryMock.Object, mapper);

            controller.ModelState.AddModelError("cliente", "Required");
            //act
            IActionResult actionResult = await controller.Post(pedido);

            //assert
            Assert.IsType <BadRequestObjectResult>(actionResult);
        }
コード例 #4
0
        public async Task Get_Not_Found()
        {
            //arrange
            pedidoRepositoryMock
            .Setup(r => r.GetPedidos(It.IsAny <string>()))
            .ReturnsAsync((List <Pedido>)null)
            .Verifiable();

            var controller = new OrdemDeCompraController(pedidoRepositoryMock.Object, mapper);

            SetControllerUser("xpto", controller);

            //act
            ActionResult result = await controller.Get("xpto");

            //assert
            Assert.IsType <NotFoundObjectResult>(result);

            pedidoRepositoryMock.Verify();
        }
コード例 #5
0
        public async Task Post_Invalid_Pedido_Success()
        {
            //arrange
            List <ItemPedido> itens = new List <ItemPedido> {
                new ItemPedido("001", "produto 001", 1, 12.34m)
            };
            Pedido pedido = new Pedido(itens, "clienteId", "clienteNome", "*****@*****.**", "fone", "endereco", "complemento", "bairro", "municipio", "uf", "12345-678");

            pedido.Id = 123;
            pedidoRepositoryMock
            .Setup(r => r.CreateOrUpdate(It.IsAny <Pedido>()))
            .ReturnsAsync(pedido);
            var controller = new OrdemDeCompraController(pedidoRepositoryMock.Object, mapper);
            //act
            IActionResult actionResult = await controller.Post(pedido);

            //assert
            OkObjectResult okObjectResult = Assert.IsType <OkObjectResult>(actionResult);
            Pedido         pedidoCriado   = Assert.IsType <Pedido>(okObjectResult.Value);

            Assert.Equal(123, pedidoCriado.Id);
        }
コード例 #6
0
        public async Task Get_Ok()
        {
            //arrange
            List <ItemPedido> itens = new List <ItemPedido> {
                new ItemPedido("001", "produto 001", 1, 12.34m)
            };
            Pedido pedido = new Pedido(itens, "clienteId", "clienteNome", "*****@*****.**", "fone", "endereco", "complemento", "bairro", "municipio", "uf", "12345-678");

            pedido.Id = 123;

            pedidoRepositoryMock
            .Setup(r => r.GetPedidos(It.IsAny <string>()))
            .ReturnsAsync(new List <Pedido> {
                pedido
            })
            .Verifiable();

            var controller = new OrdemDeCompraController(pedidoRepositoryMock.Object, mapper);

            SetControllerUser("xpto", controller);

            //act
            ActionResult result = await controller.Get("xpto");

            //assert
            var objectResult = Assert.IsAssignableFrom <OkObjectResult>(result);
            var pedidos      = Assert.IsType <List <PedidoDTO> >(objectResult.Value);

            Assert.Collection(pedidos,
                              (p) => Assert.Equal("123", p.Id));

            Assert.Collection(pedidos[0].Itens,
                              (i) => Assert.Equal("001", i.ProdutoCodigo));

            pedidoRepositoryMock.Verify();
        }