コード例 #1
0
        public void TiposItemController_ModificarTipoDeItemDeProyecto()
        {
            HelperTestSistema.LimpiarArchivoBD();
            HelperTestSistema.IniciarServidor();

            //Creamos 1 proyecto1 directamente en la BD con dos tipos de item
            var tiposDeItemProyecto1 = HelperInstanciacionItems.GetTiposDeItem("Proyecto 1", 3);
            var proyecto             = HelperInstanciacionProyectos.GetProyectos(1)[0];

            proyecto.AgregarTipoDeItem(tiposDeItemProyecto1[0]);
            proyecto.AgregarTipoDeItem(tiposDeItemProyecto1[1]);
            proyecto.AgregarTipoDeItem(tiposDeItemProyecto1[2]);

            //Guardamos los objetos en la BD
            using (IContextoProceso contexto = new ContextoProceso(HelperTestSistema.ObjectFactory))
            {
                contexto.ContenedorObjetos.Store(proyecto);
            }

            HelperTestSistema.ReiniciarConexion();

            //Obtenemos los tipos de item del proyecto directamente a traves de la API
            var controller = new TiposItemController(HelperTestSistema.ObjectFactory);
            var tiposItem  = controller.Get("P1");

            //Obtenemos el primer tipo de item y lo modificamos a traves de la API
            var tipoItem = tiposItem.ToList()[1];

            tipoItem.Descripcion = "Tipo de item 2 modificado";
            controller.Put("P1", tipoItem);
            HelperTestSistema.ReiniciarConexion();

            //Obtenemos los datos para validar directamente desde la base de datos
            var proyectosBD = new List <Proyecto>();

            using (IContextoProceso contexto = new ContextoProceso(HelperTestSistema.ObjectFactory))
            {
                proyectosBD = (from Proyecto p in contexto.ContenedorObjetos select p).ToList();
            }

            HelperTestSistema.ReiniciarConexion();
            HelperTestSistema.FinalizarServidor();

            //Asserts
            Assert.Inconclusive("Refactorizar y terminar este test");
            //Tiene que haber un solo proyecto en la BD
            Assert.AreEqual(1, proyectosBD.Count);
            //El proyecto debe tener 3 tipos de item
            Assert.AreEqual(3, proyectosBD[0].TiposDeItem.Count());
            //El tipo de item 2 debe tener la descripcion modificada
            Assert.AreEqual("Tipo de item 2 modificado", proyectosBD[0].TiposDeItem.ToList()[1].Descripcion);
        }
コード例 #2
0
        public void TiposItemController_ModificarTipoDeItemDeProyecto_ConReferencias()
        {
            HelperTestSistema.LimpiarArchivoBD();
            HelperTestSistema.IniciarServidor();

            //Creamos 1 proyecto1 directamente en la BD con dos tipos de item
            var tiposDeItemProyecto1 = HelperInstanciacionItems.GetTiposDeItem("Proyecto 1", 3);
            var proyecto             = HelperInstanciacionProyectos.GetProyectos(1)[0];

            proyecto.AgregarTipoDeItem(tiposDeItemProyecto1[0]);
            proyecto.AgregarTipoDeItem(tiposDeItemProyecto1[1]);
            proyecto.AgregarTipoDeItem(tiposDeItemProyecto1[2]);

            //Cregamos un item y le asignamos el tipo de item 2
            var item = new Item("Item 1", "Item de prueba 1", tiposDeItemProyecto1[1], new Prioridad("Baja", "Test"));

            proyecto.AgregarItem(item);

            //Guardamos los objetos en la BD
            using (IContextoProceso contexto = new ContextoProceso(HelperTestSistema.ObjectFactory))
            {
                contexto.ContenedorObjetos.Store(proyecto);
            }

            HelperTestSistema.ReiniciarConexion();

            //Obtenemos los tipos de item del proyecto desde el controller
            var controller = new TiposItemController(HelperTestSistema.ObjectFactory);
            var tiposItem  = controller.Get("P1");

            var tipoItemAModificar = tiposItem.ToList()[1];

            tipoItemAModificar.Descripcion = "Tipo de item 2 modificado";

            controller.Put("P1", tipoItemAModificar);
            HelperTestSistema.ReiniciarConexion();

            //Obtenemos los datos directamente desde la BD para validarlos
            //Obtenemos los datos para validar directamente desde la base de datos
            var proyectosBD = new List <Proyecto>();

            using (IContextoProceso contexto = new ContextoProceso(HelperTestSistema.ObjectFactory))
            {
                proyectosBD = (from Proyecto p in contexto.ContenedorObjetos select p).ToList();
            }


            HelperTestSistema.ReiniciarConexion();
            HelperTestSistema.FinalizarServidor();

            //Asserts
            Assert.Inconclusive("Refactorizar y terminar este test");
            //Tiene que haber un solo proyecto
            Assert.AreEqual(1, proyectosBD.Count);
            //El proyeto debe tener 3 tipos de item
            Assert.AreEqual(3, proyectosBD[0].TiposDeItem.Count());
            //El tipo de item 2 debe estar modificado
            Assert.AreEqual("Tipo de item 2 modificado", proyectosBD[0].TiposDeItem.ToList()[1].Descripcion);
            //El proyecto debe tener 1 item
            Assert.AreEqual(1, proyectosBD[0].Items.Count());
            //La instanacia del tipo de item 2 debe ser la misma asociada al item del proyecto
            Assert.AreSame(proyectosBD[0].TiposDeItem.ToList()[1], proyectosBD[0].Items.ToList()[0].TipoItem);
        }