public Item(string nombre, string descripcion, TipoItem tipo, Prioridad prioridad) { this.Nombre = nombre; this.Descripcion = descripcion; this.TipoItem = tipo; this.Prioridad = prioridad; }
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); }