示例#1
0
        public void Validation_ValidarAltura_Sucesso(string altura)
        {
            var request = new CalculoIMCRequest
            {
                Altura = altura,
                Peso   = "1"
            };

            var result = _validation.Validate(request);

            result.IsValid.Should().BeTrue();
        }
示例#2
0
        public void Validation_ValidarPeso_Sucesso(string peso)
        {
            var request = new CalculoIMCRequest
            {
                Altura = "1",
                Peso   = peso
            };

            var result = _validation.Validate(request);

            result.IsValid.Should().BeTrue();
        }
示例#3
0
        public void Validation_ValidarAltura_Falha(string altura, string mensagemErro)
        {
            var request = new CalculoIMCRequest
            {
                Altura = altura,
                Peso   = "1"
            };

            var result = _validation.Validate(request);

            result.IsValid.Should().BeFalse();
            result.Errors[0].ErrorMessage.Should().Be(mensagemErro);
        }
示例#4
0
        public async Task Handle_ValidacaoFalha_Falha()
        {
            _validatorMock.Setup(x => x.ValidateAsync(It.IsAny <CalculoIMCRequest>(), CancellationToken.None))
            .Returns(() => Task.FromResult(new ValidationResult(new List <ValidationFailure>()
            {
                new ValidationFailure("Peso", "Peso Inválido")
            })));

            var request = new CalculoIMCRequest
            {
                Altura = "2",
                Peso   = "100"
            };

            var response = await _handler.Handle(request, CancellationToken.None);

            response.IsSuccess.Should().BeFalse();
            response.Errors[0].Should().Be("Peso Inválido");
        }
示例#5
0
        public async Task Handle_ValidacaoOk_Sucesso()
        {
            _validatorMock.Setup(x => x.ValidateAsync(It.IsAny <CalculoIMCRequest>(), CancellationToken.None))
            .Returns(() => Task.FromResult(new ValidationResult()));

            _servicoCalculoImcMock.Setup(x => x.CalcularIMC(2, 100)).Returns(new CalculoIMCResultado(25, "Teste"));

            var request = new CalculoIMCRequest
            {
                Altura = "2",
                Peso   = "100"
            };

            var response = await _handler.Handle(request, CancellationToken.None);

            response.IsSuccess.Should().BeTrue();
            response.IMC.Should().Be(25);
            response.Analise.Should().Be("Teste");
        }
        public async Task <IActionResult> GetAsync(string altura, string peso, CancellationToken cancellationToken)
        {
            var request = new CalculoIMCRequest
            {
                Altura = altura,
                Peso   = peso
            };

            var response = await _mediator.Send(request, cancellationToken);

            if (!response.IsSuccess)
            {
                return(BadRequest("Erros:" + string.Join(", ", response.Errors)));
            }

            return(Ok(new CalculoIMCViewModel
            {
                Altura = Convert.ToDecimal(altura, CultureInfo.InvariantCulture),
                Peso = Convert.ToDecimal(peso, CultureInfo.InvariantCulture),
                IMC = response.IMC,
                Analise = response.Analise
            }));
        }