예제 #1
0
        public void TestCargarDatosDefault()
        {
            string correo  = "*****@*****.**";
            var    persona = new Persona()
            {
                Correo             = correo,
                Identificacion     = "123456781",
                Apellido1          = "Admin",
                Nombre1            = "Admin",
                TipoIdentificacion = "Cédula"
            };

            var usuario = new Usuario()
            {
                Activo = true
            };

            var carreras = new List <Carrera>
            {
                new Carrera()
                {
                    Codigo = "0000000001", Nombre = "Bachillerato en Computación"
                }
            };

            var enfasis = new List <Enfasis>
            {
                new Enfasis()
                {
                    CodCarrera = "0000000001", Codigo = "0000000000", Nombre = "Tronco Común"
                },
                new Enfasis()
                {
                    CodCarrera = "0000000001", Codigo = "0000000001", Nombre = "Ingeniería de Software"
                }
            };

            var perfiles = new List <Perfil>
            {
                new Perfil()
                {
                    Nombre = "Administrador"
                },
                new Perfil()
                {
                    Nombre = "Director"
                }
            };

            var database = new Mock <DataIntegradorEntities>();

            database.Setup(m => m.Persona.Find(correo)).Returns(persona);
            database.Setup(m => m.Usuario.Find(correo)).Returns(usuario);

            database.Setup(m => m.Carrera).Returns(new Mock <DbSet <Carrera> >().SetupData(carreras, o => {
                return(carreras.Single(x => x.Codigo == (string)o.First()));
            }).Object);

            database.Setup(m => m.Enfasis).Returns(new Mock <DbSet <Enfasis> >().SetupData(enfasis, o => {
                return(enfasis.Single(x => x.CodCarrera == (string)o.First() && x.Codigo == (string)o.First()));
            }).Object);

            database.Setup(m => m.Perfil).Returns(new Mock <DbSet <Perfil> >().SetupData(perfiles, o => {
                return(perfiles.Single(x => x.Nombre == (string)o.First()));
            }).Object);

            Init("*****@*****.**");
            CurrentUser.setCurrentUser("*****@*****.**", "Administrador", "0000000001", "0000000000");

            PermissionsController controller = new PermissionsController(database.Object);
            JsonResult            json       = controller.CargarDatosDefault();
            string result   = new JavaScriptSerializer().Serialize(json.Data);
            string expected = "{\"defaultProfile\":\"Administrador\",\"defaultMajor\":\"0000000001,Bachillerato en Computación\",\"defaultEmphasis\":\"0000000001,Ingeniería de Software\"}";

            Assert.AreEqual(result, expected);
        }