public void ItemsController_AgrearItemAProyecto() { HelperTestSistema.LimpiarArchivoBD(); HelperTestSistema.IniciarServidor(); //Creamos un proyecto y lo guardamos directamente en la base de datos var proyecto = HelperInstanciacionProyectos.GetProyectos( 1 )[0]; using ( IContextoProceso contexto = new ContextoProceso(HelperTestSistema.ObjectFactory) ) { contexto.ContenedorObjetos.Store( proyecto ); } //Instanciamos un nuevo item y lo agregamos al proyecto Item nuevoItem = new Item( "Item test", "Descripcion item test", new TipoItem( "Tipo 1", "Tipo 1 test" ), new Prioridad( "Prioridad 1", "Prioridad de prueba" ) ); var controller = new ItemsController( HelperTestSistema.ObjectFactory ); controller.Post( "P1", nuevoItem ); //Obtenemos los datos de la BD para validarlos var proyectosBD = new List<Proyecto>(); var tipoItem = new TipoItem(); var prioridad = new Prioridad( "", "" ); using ( IContextoProceso contexto = new ContextoProceso( HelperTestSistema.ObjectFactory ) ) { proyectosBD = (from Proyecto p in contexto.ContenedorObjetos select p).ToList(); prioridad = (from Prioridad p in contexto.ContenedorObjetos select p).SingleOrDefault(); tipoItem = (from TipoItem ti in contexto.ContenedorObjetos select ti).SingleOrDefault(); } 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 un item Assert.AreEqual( 1, proyectosBD[0].Items.Count() ); //El item debe tener el nombre y la descripcion correcta Assert.AreEqual("Descripcion item test", proyectosBD[0].Items.ToList()[0].Descripcion); //El item debe tener la prioridad correcta Assert.AreSame(prioridad, proyectosBD[0].Items.ToList()[0].Prioridad); Assert.AreEqual("Prioridad 1", proyectosBD[0].Items.ToList()[0].Prioridad.Nombre); //El item debe tener asignado el tipo de item correcto Assert.AreSame( tipoItem, proyectosBD[0].Items.ToList()[0].TipoItem ); Assert.AreEqual("Tipo 1", proyectosBD[0].Items.ToList()[0].TipoItem.Nombre); }
public void ItemsController_ListarItems() { HelperTestSistema.LimpiarArchivoBD(); HelperTestSistema.IniciarServidor(); // Creamos en la BD 2 proyectos con 2 items cada uno var proyectos = HelperInstanciacionProyectos.GetProyectos( 2 ); var itemsProyecto1 = HelperInstanciacionItems.GetItems( "Proyecto 1", 2 ); var itemsProyecto2 = HelperInstanciacionItems.GetItems( "Proyecto 2", 2 ); proyectos[0].AgregarItem( itemsProyecto1[0] ); proyectos[0].AgregarItem( itemsProyecto1[1] ); proyectos[1].AgregarItem( itemsProyecto2[0] ); proyectos[1].AgregarItem( itemsProyecto2[1] ); using ( IContextoProceso contexto = new ContextoProceso(HelperTestSistema.ObjectFactory) ) { contexto.ContenedorObjetos.Store( proyectos ); } //Solicitamos al controller los items del proyecto var controller = new ItemsController( HelperTestSistema.ObjectFactory ); var itemsProyectoRequest = controller.Get( "P1" ); HelperTestSistema.ReiniciarConexion(); HelperTestSistema.ReiniciarConexion(); HelperTestSistema.FinalizarServidor(); //Asserts Assert.Inconclusive("Refactorizar y terminar este test"); //En total el request debe devolver 2 items Assert.AreEqual( 2, itemsProyectoRequest.Count() ); //Los nombres de los dos items deben ser los correctos Assert.AreEqual("Proyecto 1-Item de prueba 1", itemsProyectoRequest.ToList()[0].Descripcion); Assert.AreEqual( "Proyecto 1-Item de prueba 2", itemsProyectoRequest.ToList()[1].Descripcion ); }