public void QuandoAtualizaOProcessoComSucessoRecebeMensagemDeSucesso()
        {
            var processoDeCotacaoServiceMock = new Mock <IProcessoDeCotacaoDeMaterialService>(MockBehavior.Strict);

            processoDeCotacaoServiceMock.Setup(x => x.AtualizarProcesso(It.IsAny <ProcessoDeCotacaoAtualizarVm>()))
            .Returns(1);

            var processoDeCotacaoController = new ProcessoDeCotacaoServiceController(processoDeCotacaoServiceMock.Object);
            var retorno = processoDeCotacaoController.AtualizarProcesso(new ProcessoDeCotacaoAtualizarVm());

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

            Assert.IsTrue(props.Find("Sucesso", true).GetValue(data));

            processoDeCotacaoServiceMock.Verify(x => x.AtualizarProcesso(It.IsAny <ProcessoDeCotacaoAtualizarVm>()), Times.Once());
        }
        public void QuandoOcorreErroAoAtualizarProcessoRetornarParaPaginaDeCadastro()
        {
            var processoDeCotacaoServiceMock = new Mock <IProcessoDeCotacaoDeMaterialService>(MockBehavior.Strict);

            processoDeCotacaoServiceMock.Setup(x => x.AtualizarProcesso(It.IsAny <ProcessoDeCotacaoAtualizarVm>()))
            .Throws(new ExcecaoDeTeste("Erro ao Atualizar Processo de Cotação"));

            var processoDeCotacaoController = new ProcessoDeCotacaoServiceController(processoDeCotacaoServiceMock.Object);
            var retorno = processoDeCotacaoController.AtualizarProcesso(
                new ProcessoDeCotacaoAtualizarVm()
            {
                Id = 10,
                DataLimiteRetorno = DateTime.Today
            });

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

            Assert.IsFalse(props.Find("Sucesso", true).GetValue(data));
            Assert.AreEqual("Erro ao Atualizar Processo de Cotação", props.Find("Mensagem", true).GetValue(data));

            processoDeCotacaoServiceMock.Verify(x => x.AtualizarProcesso(It.IsAny <ProcessoDeCotacaoAtualizarVm>()), Times.Once());
        }