public void PerfilesController_ModificarPerfil()
        {
            HelperTestSistema.LimpiarArchivoBD();
            HelperTestSistema.IniciarServidor();

            //Generamos dos perfiles de prueba
            var perfiles = HelperInstanciacionPerifles.GetPerfiles(2);

            //Guardamos los perfiles directamente en la base de datos
            using (IContextoProceso contexto = new ContextoProceso(HelperTestSistema.ObjectFactory))
            {
                foreach (Rol perfil in perfiles)
                {
                    contexto.ContenedorObjetos.Store(perfil);
                }
            }

            //Reiniciamos la conexion
            HelperTestSistema.ReiniciarConexion();

            //Obtenermos los perfiles desede el controller
            var controller = new PerfilesController(HelperTestSistema.ObjectFactory);
            var perfilesBD = controller.Get();

            HelperTestSistema.ReiniciarConexion();

            //Modificamos el primer perfil
            Rol perfilAModificar = perfilesBD.ToList()[0];

            perfilAModificar.Descripcion = "perfil de prueba 1 modificado";
            controller.Put(perfilAModificar);
            HelperTestSistema.ReiniciarConexion();

            //Obtenemos los perfiles de nuevo desde la base de datos
            perfilesBD = null;
            perfilesBD = controller.Get();
            HelperTestSistema.ReiniciarConexion();

            HelperTestSistema.FinalizarServidor();

            //Asserts
            Assert.Inconclusive("Refactorizar y terminar este test");
            //En la bd debe haber solamente dos perfiles
            Assert.AreEqual(2, perfilesBD.ToList().Count);
            //La instancia del perfil a modificar y el primer perfil de la BD deben ser diferentes
            Assert.AreNotSame(perfilAModificar, perfilesBD.ToList()[0]);
            //La descripcion del perfil de la BD se tiene que haber modificado correctamente
            Assert.AreEqual("perfil de prueba 1 modificado", perfilesBD.ToList()[0].Descripcion);
        }
        public void PerfilesController_ModificarPerfilAsignadoAUsuario()
        {
            HelperTestSistema.LimpiarArchivoBD();
            HelperTestSistema.IniciarServidor();

            //Generamos dos perfiles  y un  usuario de prueba
            var perfiles = HelperInstanciacionPerifles.GetPerfiles(2);
            var usuario  = HelperInstanciacionUsuarios.GetUsuarios(1)[0];

            //Guardamos los perfiles y el usuario directamente en la base de datos
            using (IContextoProceso contexto = new ContextoProceso(HelperTestSistema.ObjectFactory))
            {
                foreach (Rol perfil in perfiles)
                {
                    contexto.ContenedorObjetos.Store(perfil);
                }
                //Asociamos el primer perfil al usuario
                //usuario.Perfil = perfiles[0];

                contexto.ContenedorObjetos.Store(usuario);
            }

            //Reiniciamos la conexion
            HelperTestSistema.ReiniciarConexion();

            //Obtenemos los perfiles desde el controller
            var controller = new PerfilesController(HelperTestSistema.ObjectFactory);
            var perfilesBD = controller.Get();

            HelperTestSistema.ReiniciarConexion();

            //Modificamos el primer perfil
            var perfilAModificar = perfilesBD.ToList()[0];

            perfilAModificar.Descripcion = "perfil de prueba 1 modificado";
            controller.Put(perfilAModificar);
            HelperTestSistema.ReiniciarConexion();

            //Obtenemos los datos directamente de la base de datos para verificarlos
            perfilesBD = null;
            var usuariosBD = new List <Usuario>();

            using (IContextoProceso contexto = new ContextoProceso(HelperTestSistema.ObjectFactory))
            {
                perfilesBD = (from Rol p in contexto.ContenedorObjetos select p).ToList();
                usuariosBD = (from Usuario u in contexto.ContenedorObjetos select u).ToList();
            }

            HelperTestSistema.ReiniciarConexion();

            HelperTestSistema.FinalizarServidor();

            //Asserts
            Assert.Inconclusive("Refactorizar y terminar este test");
            // La cantidad de perfiles en la BD debe seguir siendo la misma (solo 2 )
            Assert.AreEqual(2, perfiles.Count);
            //Se tiene que haber modificado el nombre en el perfil asociado al usuario
            //Assert.AreEqual( "perfil de prueba 1 modificado", usuariosBD[0].Perfil.Descripcion );
            //El perfil se tiene que haber modificado correctamente
            Assert.AreEqual("perfil de prueba 1 modificado", perfilesBD.ToList()[0].Descripcion);
            //La instancia del perfil asociado al usuario y el primer perfil deben ser  la misma
            //Assert.AreSame(perfilesBD.ToList()[0], usuariosBD[0].Perfil );
        }