public void QuandoOcorrerErroAoFecharProcessoDeCotacaoDeMaterialDeveRetornarMensagemDeErro()
        {
            var serviceMock = new Mock <IFechamentoDeProcessoDeCotacaoDeMaterialService>(MockBehavior.Strict);

            serviceMock.Setup(x => x.Executar(It.IsAny <ProcessoDeCotacaoDeMaterialFechamentoInfoVm>())).Throws(new ExcecaoDeTeste("Processo XXXXX não encontrado."));;
            var serviceFactoryMock = new Mock <IFechamentoDeProcessoDeCotacaoServiceFactory>(MockBehavior.Strict);

            var        processoDeCotacaoController = new ProcessoDeCotacaoDeMaterialFechamentoController(serviceMock.Object);
            JsonResult retorno = processoDeCotacaoController.FecharProcesso(_processoDeCotacaoFechamentoVm);
            dynamic    data    = retorno.Data;
            PropertyDescriptorCollection props = TypeDescriptor.GetProperties(retorno.Data);

            Assert.IsFalse(props.Find("Sucesso", true).GetValue(data));
            Assert.AreEqual("Ocorreu um erro ao fechar o Processo de Cotação. Detalhes: Processo XXXXX não encontrado.",
                            props.Find("Mensagem", true).GetValue(data));
        }
        public void QuandoFecharProcessoDeCotacaoDeMaterialCorretamenteDeveRetornarMensagemDeSucesso()
        {
            var serviceMock = new Mock <IFechamentoDeProcessoDeCotacaoDeMaterialService>(MockBehavior.Strict);

            serviceMock.Setup(x => x.Executar(It.IsAny <ProcessoDeCotacaoDeMaterialFechamentoInfoVm>()));

            var        processoDeCotacaoController = new ProcessoDeCotacaoDeMaterialFechamentoController(serviceMock.Object);
            JsonResult retorno = processoDeCotacaoController.FecharProcesso(_processoDeCotacaoFechamentoVm);
            dynamic    data    = retorno.Data;
            PropertyDescriptorCollection props = TypeDescriptor.GetProperties(retorno.Data);

            Assert.IsTrue(props.Find("Sucesso", true).GetValue(data));
            Assert.AreEqual("O Processo de Cotação foi fechado com sucesso.", props.Find("Mensagem", true).GetValue(data));

            serviceMock.Verify(x => x.Executar(It.IsAny <ProcessoDeCotacaoDeMaterialFechamentoInfoVm>()), Times.Once());
        }