public void QuandoOcorrerErroAoAbrirProcessoDeCotacaoDeveRetornarMensagemDeErro() { var processoDeAberturaServiceMock = new Mock <IAberturaDeProcessoDeCotacaoService>(MockBehavior.Strict); processoDeAberturaServiceMock.Setup(x => x.Executar(It.IsAny <int>())).Throws(new ExcecaoDeTeste("Processo XXXXX não encontrado.")); var processoDeAberturaServiceFactoryMock = new Mock <IAberturaDeProcessoDeCotacaoServiceFactory>(MockBehavior.Strict); processoDeAberturaServiceFactoryMock.Setup(x => x.Construir()).Returns(processoDeAberturaServiceMock.Object); var processoDeCotacaoController = new ProcessoDeCotacaoDeFreteAberturaController(processoDeAberturaServiceFactoryMock.Object); JsonResult retorno = processoDeCotacaoController.AbrirProcesso(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 abrir o Processo de Cotação. Detalhes: Processo XXXXX não encontrado.", props.Find("Mensagem", true).GetValue(data)); }
public void QuandoAbrirProcessoDeCotacaoCorretamenteDeveRetornarMensagemDeSucesso() { var processoDeAberturaServiceMock = new Mock <IAberturaDeProcessoDeCotacaoService>(MockBehavior.Strict); processoDeAberturaServiceMock.Setup(x => x.Executar(It.IsAny <int>())); var processoDeAberturaServiceFactoryMock = new Mock <IAberturaDeProcessoDeCotacaoServiceFactory>(MockBehavior.Strict); processoDeAberturaServiceFactoryMock.Setup(x => x.Construir()).Returns(processoDeAberturaServiceMock.Object); var processoDeCotacaoController = new ProcessoDeCotacaoDeFreteAberturaController(processoDeAberturaServiceFactoryMock.Object); JsonResult retorno = processoDeCotacaoController.AbrirProcesso(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 aberto com sucesso.", props.Find("Mensagem", true).GetValue(data)); processoDeAberturaServiceFactoryMock.Verify(x => x.Construir(), Times.Once()); processoDeAberturaServiceMock.Verify(x => x.Executar(It.IsAny <int>()), Times.Once()); }