コード例 #1
0
 public JsonResult VerificarQuantidadeAdquirida(int idProcessoCotacao, int idItem, decimal quantidadeAdquiridaTotal)
 {
     try
     {
         VerificacaoDeQuantidadeAdquiridaVm verificacaoVm = _processoDeCotacaoService.VerificarQuantidadeAdquirida(idProcessoCotacao, idItem, quantidadeAdquiridaTotal);
         return(Json(new { Sucesso = true, Verificacao = verificacaoVm }, JsonRequestBehavior.AllowGet));
     }
     catch (Exception ex)
     {
         return(Json(new { Sucesso = false, Mensagem = ex.Message }, JsonRequestBehavior.AllowGet));
     }
 }
        public void ServicoDeVerificacaoDeQuantidadeAdquiridaRetornaResultadoDaComparacao()
        {
            var processoDeCotacaoDeMaterial = DefaultObjects.ObtemProcessoDeCotacaoDeMaterialAtualizado();

            processoDeCotacaoDeMaterial.AdicionarFornecedor(DefaultObjects.ObtemFornecedorPadrao());
            processoDeCotacaoDeMaterial.AdicionarFornecedor(DefaultObjects.ObtemFornecedorPadrao());

            _processosDeCotacaoMock.Setup(x => x.Single())
            .Returns(processoDeCotacaoDeMaterial);

            VerificacaoDeQuantidadeAdquiridaVm verificacaoVm = _processoDeCotacaoService.VerificarQuantidadeAdquirida(10, 0, 1001);

            Assert.AreEqual(1000, verificacaoVm.QuantidadeSolicitadaNoProcessoDeCotacao);
            Assert.IsTrue(verificacaoVm.SuperouQuantidadeSolicitada);

            _processosDeCotacaoMock.Verify(x => x.BuscaPorId(It.IsAny <int>()), Times.Once());
        }
        public void QuandoCompararQuantidadeAdquiridaComSucessoRetornaResultadoDaComparacao()
        {
            var processoDeCotacaoServiceMock = new Mock <IProcessoDeCotacaoDeMaterialService>(MockBehavior.Strict);

            processoDeCotacaoServiceMock.Setup(x => x.VerificarQuantidadeAdquirida(It.IsAny <int>(), It.IsAny <int>(), It.IsAny <decimal>()))
            .Returns(new VerificacaoDeQuantidadeAdquiridaVm
            {
                QuantidadeSolicitadaNoProcessoDeCotacao = 1000,
                SuperouQuantidadeSolicitada             = false
            });

            var        processoDeCotacaoController = new ProcessoDeCotacaoServiceController(processoDeCotacaoServiceMock.Object);
            JsonResult retorno = processoDeCotacaoController.VerificarQuantidadeAdquirida(10, 1, 1000);

            dynamic data = retorno.Data;
            PropertyDescriptorCollection props = TypeDescriptor.GetProperties(retorno.Data);

            Assert.IsTrue(props.Find("Sucesso", true).GetValue(data));
            VerificacaoDeQuantidadeAdquiridaVm verificacaoVm = props.Find("Verificacao", true).GetValue(data);

            Assert.IsNotNull(verificacaoVm);
            Assert.AreEqual(1000, verificacaoVm.QuantidadeSolicitadaNoProcessoDeCotacao);
            Assert.IsFalse(verificacaoVm.SuperouQuantidadeSolicitada);
        }