public void PutTest() { // Arrange controller.Request = new HttpRequestMessage { RequestUri = new Uri("http://localhost/api/modelodeformulario") }; controller.Configuration = new HttpConfiguration(); controller.Configuration.Routes.MapHttpRoute( name: "DefaultApi", routeTemplate: "api/{controller}/{id}", defaults: new { id = RouteParameter.Optional }); controller.RequestContext.RouteData = new HttpRouteData( route: new HttpRoute(), values: new HttpRouteValueDictionary { { "controller", "modelodeformulario" } }); var modeloFormulario = svc.AbrirFormulario(1); modeloFormulario.Perguntas.First().Titulo += "-Teste"; controller.Request.Headers.Add("ResultObject", "true"); // Act var response = controller.Put(modeloFormulario) .Result .ExecuteAsync(System.Threading.CancellationToken.None) .Result .TryGetContentValue(out ModeloFormularioDTO val); var expected = modeloFormulario.Perguntas.First().Titulo; modeloFormulario = svc.AbrirFormulario(1); Assert.AreEqual(expected, modeloFormulario.Perguntas.First().Titulo); controller.Request.Headers.Clear(); // Act response = controller.Post(modeloFormulario) .Result .ExecuteAsync(System.Threading.CancellationToken.None) .Result .TryGetContentValue(out long id); Assert.AreEqual(1, id); }
public void AbrirFormularioTest() { var formulario = svc.AbrirFormulario(1); Assert.AreEqual(1, formulario.ModeloFormularioID); Assert.AreEqual("Modelo", formulario.Descricao); Assert.AreEqual("<b>Modelo</b>", formulario.Html); var p1 = formulario.Perguntas.Single(c => c.PerguntaID == 1); Assert.AreEqual("Linguagem", p1.Titulo); Assert.AreEqual("Ling", p1.Descricao); Assert.AreEqual(false, p1.Obrigatorio); Assert.AreEqual((byte)eTipoEntrada.MultiplaEscolha_CaixaDeSelecao, p1.TipoEntrada); Assert.AreEqual(4, p1.Opcoes.Count); Assert.AreEqual("C#", p1.Opcoes[0].Descricao); Assert.AreEqual("JAVA", p1.Opcoes[1].Descricao); Assert.AreEqual("JavaScript", p1.Opcoes[2].Descricao); Assert.AreEqual("Python", p1.Opcoes[3].Descricao); var p2 = formulario.Perguntas.Single(c => c.PerguntaID == 2); Assert.AreEqual("Nome", p2.Titulo); Assert.AreEqual("Desc", p2.Descricao); Assert.AreEqual(true, p2.Obrigatorio); Assert.AreEqual((short)50, p2.TamanhoMaximo); Assert.AreEqual((byte)eTipoEntrada.Texto_CaixaDeTexto, p2.TipoEntrada); var p3 = formulario.Perguntas.Single(c => c.PerguntaID == 3); Assert.AreEqual("Sexo", p3.Titulo); Assert.AreEqual("Desc Sexo", p3.Descricao); Assert.AreEqual(false, p3.Obrigatorio); Assert.AreEqual((byte)eTipoEntrada.EscolhaUnica_Radio, p3.TipoEntrada); Assert.AreEqual(2, p3.Opcoes.Count); Assert.AreEqual("M", p3.Opcoes[0].Descricao); Assert.AreEqual("F", p3.Opcoes[1].Descricao); var p4 = formulario.Perguntas.Single(c => c.PerguntaID == 4); Assert.AreEqual("Nível de Conhecimento C#", p4.Titulo); Assert.AreEqual("Nível", p4.Descricao); Assert.AreEqual(false, p4.Obrigatorio); Assert.AreEqual((byte)eTipoEntrada.EscolhaUnica_Star, p4.TipoEntrada); Assert.AreEqual(3, p4.Opcoes.Count); Assert.AreEqual("Básico", p4.Opcoes[0].Descricao); Assert.AreEqual("Médio", p4.Opcoes[1].Descricao); Assert.AreEqual("Avançado", p4.Opcoes[2].Descricao); Assert.IsNotNull(p4.PerguntaCondicional); //Assert.IsNotNull(p4.PerguntaCondicional.PerguntaID) Assert.AreEqual(eTipoPergunta.MultiplaEscolha, p4.PerguntaCondicional.TipoPergunta); Assert.AreEqual(1, p4.PerguntaCondicional.OpcoesAtivacao.Count); Assert.AreEqual(1, p4.PerguntaCondicional.OpcoesAtivacao.Single()); Assert.AreEqual((short)eOperacaoCondicional.MultiplaOpcoes_Contem, p4.PerguntaCondicional.OperacaoCondicional); var p5 = formulario.Perguntas.Single(c => c.PerguntaID == 5); Assert.AreEqual("Idade", p5.Titulo); Assert.AreEqual("I", p5.Descricao); Assert.AreEqual((byte)0, p5.CasasDecimais); Assert.AreEqual("P", p5.Prefixo); Assert.AreEqual("S", p5.Sufixo); Assert.AreEqual(true, p5.Obrigatorio); Assert.AreEqual((byte)eTipoEntrada.Numero_CaixaDeTexto, p5.TipoEntrada); Assert.AreEqual((short?)eTipoValidador.Numero_MaiorIgualZero, p5.ValidadorID); var p6 = formulario.Perguntas.Single(c => c.PerguntaID == 6); Assert.AreEqual("Teste Condicional", p6.Titulo); Assert.AreEqual("Cond", p6.Descricao); Assert.AreEqual(true, p6.Obrigatorio); Assert.AreEqual((short)50, p6.TamanhoMaximo); Assert.AreEqual((byte)eTipoEntrada.Texto_CaixaDeTexto, p6.TipoEntrada); Assert.IsNotNull(p6.PerguntaCondicional); Assert.AreEqual(eTipoPergunta.Numero, p6.PerguntaCondicional.TipoPergunta); Assert.AreEqual(20M, p6.PerguntaCondicional.ValorAtivacao); Assert.AreEqual((short)eOperacaoCondicional.Numero_Igual, p6.PerguntaCondicional.OperacaoCondicional); var p7 = formulario.Perguntas.Single(c => c.PerguntaID == 7); Assert.AreEqual("Avaliacao", p7.Titulo); Assert.AreEqual("AV", p7.Descricao); Assert.AreEqual(false, p7.Obrigatorio); Assert.AreEqual((byte)eTipoEntrada.Grade_Estrela, p7.TipoEntrada); Assert.AreEqual(3, p7.Opcoes.Count); Assert.AreEqual("Básico", p7.Opcoes[0].Descricao); Assert.AreEqual("Intermediário", p7.Opcoes[1].Descricao); Assert.AreEqual("Avançado", p7.Opcoes[2].Descricao); Assert.AreEqual(2, p7.LinhasGrade.Count); Assert.AreEqual("C#", p7.LinhasGrade[0].Descricao); Assert.AreEqual("Java", p7.LinhasGrade[1].Descricao); Assert.IsNull(p7.PerguntaCondicional); string serializado = Newtonsoft.Json.JsonConvert.SerializeObject(formulario, Newtonsoft.Json.Formatting.None, new Newtonsoft.Json.JsonSerializerSettings { } ); }