Exemple #1
0
        public void GuardarPreguntaEscalarCrearMayorError()
        {
            string   codPregunta   = "TESTRIP";
            string   enuncPregunta = "TEST";
            Pregunta pregunta      = new Pregunta
            {
                Codigo    = codPregunta,
                Tipo      = "L",
                Enunciado = enuncPregunta
            };

            Pregunta_con_opciones opciones = new Pregunta_con_opciones
            {
                TituloCampoObservacion = ""
            };

            pregunta.Pregunta_con_opciones = opciones;


            PreguntasController preguntas = new PreguntasController();

            var result = preguntas.GuardarPreguntaEscalar(pregunta, 1, 20);

            preguntas.Dispose();
            Assert.IsNotNull(result);
        }
Exemple #2
0
        public void GuardarPreguntaSiNo()
        {
            string   codPregunta   = "TEST1234";
            string   enuncPregunta = "TEST";
            Pregunta pregunta      = new Pregunta
            {
                Codigo    = codPregunta,
                Tipo      = "S",
                Enunciado = enuncPregunta
            };

            Pregunta_con_opciones opciones = new Pregunta_con_opciones
            {
                TituloCampoObservacion = ""
            };

            pregunta.Pregunta_con_opciones = opciones;


            PreguntasController preguntas = new PreguntasController();

            var result = preguntas.GuardarPreguntaSiNo(pregunta);

            preguntas.Dispose();
            Assert.IsNotNull(result);
        }
Exemple #3
0
        public void TestGuardarRespuestas()
        {
            TestSetup testSetup = new TestSetup();
            var       mockDb    = new Mock <DataIntegradorEntities>();

            string codFormulario = "TESTPSU";
            string codSeccion1   = "SECCPSU";
            string codSeccion2   = "DSIFSDAF";
            string codPregunta   = "PREGSU";
            string codPregunta2  = "Pregun2";

            // Se crea el formulario de prueba
            Formulario formulario = new Formulario()
            {
                Codigo = codFormulario,
                Nombre = "Formulario de prueba con preguntas de seleccion única"
            };

            mockDb.Setup(m => m.Formulario.Find(codFormulario)).Returns(formulario);

            Seccion seccion = new Seccion()
            {
                Codigo = codSeccion1,
                Nombre = "Sección de prueba"
            };

            Seccion seccion2 = new Seccion()
            {
                Codigo = codSeccion2,
                Nombre = "Sección de prueba 2"
            };

            Pregunta pregunta = new Pregunta()
            {
                Codigo    = codPregunta,
                Enunciado = "¿Qué piensa de Brexit?",
                Tipo      = "L"
            };

            Pregunta pregunta2 = new Pregunta()
            {
                Codigo    = codPregunta,
                Enunciado = "¿Qué piensa de Brexit?",
                Tipo      = "U"
            };

            Seccion_tiene_pregunta seccion_con_pregunta_1 = new Seccion_tiene_pregunta()
            {
                PCodigo = codPregunta,
                SCodigo = codSeccion1
            };

            Seccion_tiene_pregunta seccion_con_pregunta_2 = new Seccion_tiene_pregunta()
            {
                PCodigo = codPregunta2,
                SCodigo = codSeccion2
            };

            Pregunta_con_opciones pregunta_Con_Opciones = new Pregunta_con_opciones
            {
                Codigo = codPregunta,
                Pregunta_con_opciones_de_seleccion = new Pregunta_con_opciones_de_seleccion()
            };

            mockDb.Setup(x => x.Pregunta_con_opciones.Find(codPregunta)).Returns(pregunta_Con_Opciones);

            List <int> opcionesDePregunta = new List <int>();

            opcionesDePregunta.Append(0);

            Respuestas_a_formulario respuestas = new Respuestas_a_formulario()
            {
                FCodigo    = codFormulario,
                Correo     = "*****@*****.**",
                CSigla     = "CI0128",
                GNumero    = 2,
                GAnno      = 2019,
                GSemestre  = 2,
                Fecha      = DateTime.Today,
                Finalizado = false
            };

            PreguntaConNumeroSeccion preguntaConSeccion1 = new PreguntaConNumeroSeccion()
            {
                OrdenSeccion  = 0,
                OrdenPregunta = 0,
                Pregunta      = pregunta,
                RespuestaLibreOJustificacion = "Libre"
            };

            PreguntaConNumeroSeccion preguntaConSeccion2 = new PreguntaConNumeroSeccion()
            {
                OrdenSeccion  = 1,
                OrdenPregunta = 0,
                Pregunta      = pregunta2,
                RespuestaLibreOJustificacion = "Unica"
            };

            List <PreguntaConNumeroSeccion> preguntas = new List <PreguntaConNumeroSeccion>();

            preguntas.Append(preguntaConSeccion1);
            preguntas.Append(preguntaConSeccion2);

            SeccionConPreguntas seccionP = new SeccionConPreguntas()
            {
                CodigoSeccion = codSeccion1,
                Nombre        = "nsdlkfj;a",
                Preguntas     = preguntas,
                Orden         = 0,
                Edicion       = true
            };

            SeccionConPreguntas seccionP2 = new SeccionConPreguntas()
            {
                CodigoSeccion = codSeccion2,
                Nombre        = "seccion2nsdlkfj;a",
                Preguntas     = preguntas,
                Orden         = 0,
                Edicion       = true
            };

            List <SeccionConPreguntas> secciones = new List <SeccionConPreguntas>()
            {
                seccionP, seccionP2
            };

            LlenarFormularioController controller = new LlenarFormularioController(mockDb.Object);

            testSetup.SetupHttpContext(controller);
            // Si no se cae en esta linea, significa que el guardar funciona correctamente
            controller.GuardarRespuestas(respuestas, secciones);
        }
Exemple #4
0
        public void TestGuardarRespuestasAPreguntaSeleccionUnica()
        {
            TestSetup testSetup = new TestSetup();
            var       mockDb    = new Mock <DataIntegradorEntities>();

            string codFormulario = "TESTPSU";
            string codSeccion    = "SECCPSU";
            string codPregunta   = "PREGSU";

            // Se crea el formulario de prueba
            Formulario formulario = new Formulario()
            {
                Codigo = codFormulario,
                Nombre = "Formulario de prueba con preguntas de seleccion única"
            };

            mockDb.Setup(m => m.Formulario.Find(codFormulario)).Returns(formulario);

            ObtenerSeccionesDeFormulario_Result seccion = new ObtenerSeccionesDeFormulario_Result
            {
                Codigo = codSeccion,
                Nombre = "Sección de prueba",
                Orden  = 0
            };

            var mockedObtenerSecciones = testSetup.SetupMockProcedure <ObtenerSeccionesDeFormulario_Result>
                                             (new List <ObtenerSeccionesDeFormulario_Result> {
                seccion
            });

            mockDb.Setup(x => x.ObtenerSeccionesDeFormulario(codFormulario)).Returns(mockedObtenerSecciones.Object);

            Pregunta pregunta = new Pregunta()
            {
                Codigo    = codPregunta,
                Enunciado = "¿Si no sé, es la _?",
                Tipo      = "U"
            };

            Pregunta_con_opciones pregunta_Con_Opciones = new Pregunta_con_opciones
            {
                Codigo = codPregunta,
                Pregunta_con_opciones_de_seleccion = new Pregunta_con_opciones_de_seleccion()
            };

            mockDb.Setup(x => x.Pregunta_con_opciones.Find(codPregunta)).Returns(pregunta_Con_Opciones);

            var mockedOpciones = testSetup.SetupMockProcedure <ObtenerOpcionesDePregunta_Result>(new List <ObtenerOpcionesDePregunta_Result>
            {
                new ObtenerOpcionesDePregunta_Result {
                    Orden = 0, Texto = "A"
                },
                new ObtenerOpcionesDePregunta_Result {
                    Orden = 1, Texto = "B"
                },
                new ObtenerOpcionesDePregunta_Result {
                    Orden = 2, Texto = "C"
                },
                new ObtenerOpcionesDePregunta_Result {
                    Orden = 3, Texto = "D"
                }
            });

            mockDb.Setup(x => x.ObtenerOpcionesDePregunta(codPregunta)).Returns(mockedOpciones.Object);

            List <int> opcionesDePregunta = new List <int>()
            {
                0
            };

            Respuestas_a_formulario respuestas = new Respuestas_a_formulario()
            {
                FCodigo    = codFormulario,
                Correo     = "*****@*****.**",
                CSigla     = "CI0128",
                GNumero    = 2,
                GAnno      = 2019,
                GSemestre  = 2,
                Fecha      = DateTime.Today,
                Finalizado = false
            };

            PreguntaConNumeroSeccion preguntaConSeccion = new PreguntaConNumeroSeccion()
            {
                OrdenSeccion  = 0,
                OrdenPregunta = 0,
                Pregunta      = pregunta,
                Opciones      = opcionesDePregunta,
                RespuestaLibreOJustificacion = "Para que cubra más del coverage"
            };

            LlenarFormularioController controller = new LlenarFormularioController(mockDb.Object);

            testSetup.SetupHttpContext(controller);
            // Si no se cae en esta linea, significa que el guardar funciona correctamente
            controller.GuardarRespuestaAPregunta(preguntaConSeccion, codSeccion, respuestas);
        }
Exemple #5
0
        public void TestLlenarFormulariosConPreguntasDeOpcionUnica()
        {
            TestSetup testSetup = new TestSetup();
            var       mockDb    = new Mock <DataIntegradorEntities>();

            string codFormulario = "TESTPSU";
            string codSeccion    = "SECCPSU";
            string codPregunta   = "PREGSU";

            // Se crea el formulario de prueba
            Formulario formulario = new Formulario()
            {
                Codigo = codFormulario,
                Nombre = "Formulario de prueba con preguntas de seleccion única"
            };

            mockDb.Setup(m => m.Formulario.Find(codFormulario)).Returns(formulario);

            ObtenerSeccionesDeFormulario_Result seccion = new ObtenerSeccionesDeFormulario_Result
            {
                Codigo = codSeccion,
                Nombre = "Sección de prueba",
                Orden  = 0
            };

            var mockedObtenerSecciones = testSetup.SetupMockProcedure <ObtenerSeccionesDeFormulario_Result>
                                             (new List <ObtenerSeccionesDeFormulario_Result> {
                seccion
            });

            mockDb.Setup(x => x.ObtenerSeccionesDeFormulario(codFormulario)).Returns(mockedObtenerSecciones.Object);

            ObtenerPreguntasDeSeccion_Result pregunta = new ObtenerPreguntasDeSeccion_Result
            {
                Codigo    = codPregunta,
                Enunciado = "¿Si no sé, es la _?",
                Tipo      = "U",
                Orden     = 0,
            };
            var mockedObtenerPreguntas = testSetup.SetupMockProcedure <ObtenerPreguntasDeSeccion_Result>
                                             (new List <ObtenerPreguntasDeSeccion_Result> {
                pregunta
            });

            mockDb.Setup(x => x.ObtenerPreguntasDeSeccion(codSeccion)).Returns(mockedObtenerPreguntas.Object);

            Pregunta_con_opciones pregunta_Con_Opciones = new Pregunta_con_opciones
            {
                Codigo = codPregunta,
                Pregunta_con_opciones_de_seleccion = new Pregunta_con_opciones_de_seleccion()
            };

            mockDb.Setup(x => x.Pregunta_con_opciones.Find(codPregunta)).Returns(pregunta_Con_Opciones);

            var mockedOpciones = testSetup.SetupMockProcedure <ObtenerOpcionesDePregunta_Result>(new List <ObtenerOpcionesDePregunta_Result>
            {
                new ObtenerOpcionesDePregunta_Result {
                    Orden = 0, Texto = "A"
                },
                new ObtenerOpcionesDePregunta_Result {
                    Orden = 1, Texto = "B"
                },
                new ObtenerOpcionesDePregunta_Result {
                    Orden = 2, Texto = "C"
                },
                new ObtenerOpcionesDePregunta_Result {
                    Orden = 3, Texto = "D"
                }
            });

            mockDb.Setup(x => x.ObtenerOpcionesDePregunta(codPregunta)).Returns(mockedOpciones.Object);

            LlenarFormularioController controller = new LlenarFormularioController(mockDb.Object);

            testSetup.SetupHttpContext(controller);

            var result = controller.LlenarFormulario(codFormulario, null, 0, 0, 0);

            Assert.IsNotNull(result);
        }
Exemple #6
0
        public void TestLlenarFormulariosConPreguntasEscalarConRespuestaGuardadaDataMock()
        {
            TestSetup testSetup = new TestSetup();

            var        mockDb        = new Mock <DataIntegradorEntities>();
            string     codFormulario = "CI0128G2";
            string     codSeccion    = "12345678";
            string     codPregunta   = "escalar";
            Formulario formulario    = new Formulario()
            {
                Codigo = codFormulario, Nombre = "Formularios de prueba para CI0128"
            };

            mockDb.Setup(m => m.Formulario.Find(codFormulario)).Returns(formulario);

            ObtenerSeccionesDeFormulario_Result seccion = new ObtenerSeccionesDeFormulario_Result
            {
                Codigo = codSeccion,
                Nombre = "Sección sobre algo",
                Orden  = 0
            };

            var mockedObtenerSecciones = testSetup.SetupMockProcedure <ObtenerSeccionesDeFormulario_Result>
                                             (new List <ObtenerSeccionesDeFormulario_Result> {
                seccion
            });

            mockDb.Setup(x => x.ObtenerSeccionesDeFormulario(codFormulario)).Returns(mockedObtenerSecciones.Object);

            ObtenerRespuestasAFormulario_Result respuestas = new ObtenerRespuestasAFormulario_Result
            {
                Correo    = "*****@*****.**",
                CSigla    = "CI0128",
                GNumero   = 1,
                GAnno     = 2019,
                GSemestre = 2,
                FCodigo   = codFormulario,
            };

            // Se prepara el retorno del procedimiento almacenado en el mock
            var mockedObtenerRespuestas = testSetup.SetupMockProcedure <ObtenerRespuestasAFormulario_Result>
                                              (new List <ObtenerRespuestasAFormulario_Result> {
                respuestas
            });

            mockDb.Setup(x => x.ObtenerRespuestasAFormulario(respuestas.FCodigo, respuestas.Correo, respuestas.CSigla, respuestas.GNumero,
                                                             respuestas.GAnno, respuestas.GSemestre)).Returns(mockedObtenerRespuestas.Object);

            ObtenerPreguntasDeSeccion_Result pregunta = new ObtenerPreguntasDeSeccion_Result
            {
                Codigo    = codPregunta,
                Enunciado = "¿Cómo calificaría este curso?",
                Tipo      = "E",
                Orden     = 0
            };
            var mockedObtenerPreguntas = testSetup.SetupMockProcedure <ObtenerPreguntasDeSeccion_Result>
                                             (new List <ObtenerPreguntasDeSeccion_Result> {
                pregunta
            });

            mockDb.Setup(x => x.ObtenerPreguntasDeSeccion(codSeccion)).Returns(mockedObtenerPreguntas.Object);

            Pregunta_con_opciones pregunta_Con_Opciones = new Pregunta_con_opciones
            {
                Codigo = codPregunta,
                TituloCampoObservacion = "¿Por qué?"
            };

            mockDb.Setup(x => x.Pregunta_con_opciones.Find(codPregunta)).Returns(pregunta_Con_Opciones);

            Escalar escalar = new Escalar
            {
                Codigo     = codPregunta,
                Incremento = 1,
                Minimo     = 1,
                Maximo     = 10
            };

            mockDb.Setup(x => x.Escalar.Find(codPregunta)).Returns(escalar);

            ObtenerRespuestasAPreguntaConOpciones_Result obtenerRespuestasAPreguntaConOpciones = new ObtenerRespuestasAPreguntaConOpciones_Result
            {
                Correo        = respuestas.Correo,
                FCodigo       = respuestas.FCodigo,
                CSigla        = respuestas.CSigla,
                GNumero       = respuestas.GNumero,
                GAnno         = respuestas.GAnno,
                GSemestre     = respuestas.GSemestre,
                SCodigo       = codSeccion,
                PCodigo       = codPregunta,
                Justificacion = "Porque sí."
            };
            var mockedRespuestaPreguntaConOpciones = testSetup.SetupMockProcedure <ObtenerRespuestasAPreguntaConOpciones_Result>(new List <ObtenerRespuestasAPreguntaConOpciones_Result> {
                obtenerRespuestasAPreguntaConOpciones
            });

            mockDb.Setup(x => x.ObtenerRespuestasAPreguntaConOpciones(obtenerRespuestasAPreguntaConOpciones.FCodigo, obtenerRespuestasAPreguntaConOpciones.Correo,
                                                                      obtenerRespuestasAPreguntaConOpciones.CSigla, obtenerRespuestasAPreguntaConOpciones.GNumero, obtenerRespuestasAPreguntaConOpciones.GSemestre, obtenerRespuestasAPreguntaConOpciones.GAnno,
                                                                      obtenerRespuestasAPreguntaConOpciones.SCodigo, obtenerRespuestasAPreguntaConOpciones.PCodigo)).Returns(mockedRespuestaPreguntaConOpciones.Object);

            ObtenerOpcionesSeleccionadas_Result obtenerOpciones = new ObtenerOpcionesSeleccionadas_Result
            {
                Correo             = respuestas.Correo,
                FCodigo            = respuestas.FCodigo,
                CSigla             = respuestas.CSigla,
                GNumero            = respuestas.GNumero,
                GAnno              = respuestas.GAnno,
                GSemestre          = respuestas.GSemestre,
                SCodigo            = codSeccion,
                PCodigo            = codPregunta,
                OpcionSeleccionada = 0
            };
            var mockedObtenerOpciones = testSetup.SetupMockProcedure <ObtenerOpcionesSeleccionadas_Result>(new List <ObtenerOpcionesSeleccionadas_Result> {
                obtenerOpciones
            });

            mockDb.Setup(x => x.ObtenerOpcionesSeleccionadas(obtenerOpciones.FCodigo, obtenerOpciones.Correo,
                                                             obtenerOpciones.CSigla, obtenerOpciones.GNumero, obtenerOpciones.GSemestre, obtenerOpciones.GAnno,
                                                             obtenerOpciones.SCodigo, obtenerOpciones.PCodigo)).Returns(mockedObtenerOpciones.Object);

            LlenarFormularioController controller = new LlenarFormularioController(mockDb.Object);

            testSetup.SetupHttpContext(controller);

            var result = controller.LlenarFormulario(codFormulario, respuestas.CSigla, respuestas.GNumero, respuestas.GAnno, respuestas.GSemestre);

            Assert.IsNotNull(result);
        }
Exemple #7
0
        public void TestLlenarFormulariosConPreguntasEscalarSinRespuestaGuardadaDataMock()
        {
            TestSetup testSetup = new TestSetup();

            var        mockDb        = new Mock <DataIntegradorEntities>();
            string     codFormulario = "CI0128G2";
            string     codSeccion    = "12345678";
            string     codPregunta   = "escalar";
            Formulario formulario    = new Formulario()
            {
                Codigo = codFormulario, Nombre = "Formularios de prueba para CI0128"
            };

            mockDb.Setup(m => m.Formulario.Find(codFormulario)).Returns(formulario);

            ObtenerSeccionesDeFormulario_Result seccion = new ObtenerSeccionesDeFormulario_Result
            {
                Codigo = codSeccion,
                Nombre = "Sección sobre algo",
                Orden  = 0
            };

            var mockedObtenerSecciones = testSetup.SetupMockProcedure <ObtenerSeccionesDeFormulario_Result>
                                             (new List <ObtenerSeccionesDeFormulario_Result> {
                seccion
            });

            mockDb.Setup(x => x.ObtenerSeccionesDeFormulario(codFormulario)).Returns(mockedObtenerSecciones.Object);

            ObtenerPreguntasDeSeccion_Result pregunta = new ObtenerPreguntasDeSeccion_Result
            {
                Codigo    = codPregunta,
                Enunciado = "¿Cómo calificaría este curso?",
                Tipo      = "E",
                Orden     = 0
            };
            var mockedObtenerPreguntas = testSetup.SetupMockProcedure <ObtenerPreguntasDeSeccion_Result>
                                             (new List <ObtenerPreguntasDeSeccion_Result> {
                pregunta
            });

            mockDb.Setup(x => x.ObtenerPreguntasDeSeccion(codSeccion)).Returns(mockedObtenerPreguntas.Object);

            Pregunta_con_opciones pregunta_Con_Opciones = new Pregunta_con_opciones
            {
                Codigo = codPregunta,
                TituloCampoObservacion = "¿Por qué?"
            };

            mockDb.Setup(x => x.Pregunta_con_opciones.Find(codPregunta)).Returns(pregunta_Con_Opciones);

            Escalar escalar = new Escalar
            {
                Codigo     = codPregunta,
                Incremento = 1,
                Minimo     = 1,
                Maximo     = 10
            };

            mockDb.Setup(x => x.Escalar.Find(codPregunta)).Returns(escalar);

            LlenarFormularioController controller = new LlenarFormularioController(mockDb.Object);

            testSetup.SetupHttpContext(controller);

            var result = controller.LlenarFormulario(codFormulario, null, 0, 0, 0);

            Assert.IsNotNull(result);
        }