public void Validar_NomeCategoria_Caracteres(int?qtdCaracteres)
        {
            string nomeCategoria = "";

            if (qtdCaracteres != null)
            {
                nomeCategoria = new string('a', Convert.ToInt32(qtdCaracteres));
            }

            var categoria = new CategoriaRequestModel()
            {
                NomeCategoria = nomeCategoria,
                FornecedorId  = 4,
            };

            var ex = Assert.ThrowsAsync <ValidationException>(async() => await _categoriaService.Create(categoria));

            if (qtdCaracteres == null)
            {
                ex.Result.Message.Should().Contain("Nome da categoria inválida.");
            }
            else if (qtdCaracteres == 31)
            {
                ex.Result.Message.Should().Contain("Nome da categoria deve conter no máximo 30 caracteres.");
            }
            else if (qtdCaracteres == 2)
            {
                ex.Result.Message.Should().Contain("Nome da categoria deve conter no mínimo 3 caracteres.");
            }
        }
Exemplo n.º 2
0
        public async Task Salvar_Create()
        {
            CategoriaRequestModel categoriaRequest = new CategoriaRequestModel()
            {
                FornecedorId  = 1,
                NomeCategoria = "Bebidas",
            };

            await _categoriaServices.Create(categoriaRequest);

            await _categoriaRepository.Received(1).Create(Arg.Any <CategoriaEntity>());
        }
        public async Task <IActionResult> Create([FromBody] CategoriaRequestModel categoriaRequest)
        {
            try
            {
                int id = await _categoriaServices.Create(categoriaRequest);

                return(CreatedAtRoute(categoriaRequest, id));
            }
            catch (CategoriaException ex)
            {
                return(BadRequest(ex.Errors));
            }
            catch (DbUpdateException ex)
            {
                return(StatusCode(500, ex.Message));
            }
            catch (Exception ex)
            {
                return(StatusCode(400, ex.Message));
            }
        }