public void QuandoOcorrerErroAoFecharProcessoDeCotacaoDeFreteDeveRetornarMensagemDeErro() { var serviceMock = new Mock <IFechamentoDeProcessoDeCotacaoDeFreteService>(MockBehavior.Strict); serviceMock.Setup(x => x.Executar(It.IsAny <int>())) .Throws(new ExcecaoDeTeste("Processo XXXXX não encontrado.")); ; var serviceFactoryMock = new Mock <IFechamentoDeProcessoDeCotacaoServiceFactory>(MockBehavior.Strict); serviceFactoryMock.Setup(x => x.Construir()).Returns(serviceMock.Object); var processoDeCotacaoController = new ProcessoDeCotacaoDeFreteFechamentoController(serviceFactoryMock.Object); JsonResult retorno = processoDeCotacaoController.FecharProcesso(10); 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 QuandoFecharProcessoDeCotacaoDeFreteCorretamenteDeveRetornarMensagemDeSucesso() { var serviceMock = new Mock <IFechamentoDeProcessoDeCotacaoDeFreteService>(MockBehavior.Strict); serviceMock.Setup(x => x.Executar(It.IsAny <int>())); var serviceFactoryMock = new Mock <IFechamentoDeProcessoDeCotacaoServiceFactory>(MockBehavior.Strict); serviceFactoryMock.Setup(x => x.Construir()).Returns(serviceMock.Object); var processoDeCotacaoController = new ProcessoDeCotacaoDeFreteFechamentoController(serviceFactoryMock.Object); JsonResult retorno = processoDeCotacaoController.FecharProcesso(10); 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)); serviceFactoryMock.Verify(x => x.Construir(), Times.Once()); serviceMock.Verify(x => x.Executar(It.IsAny <int>()), Times.Once()); }