public void TiposItemController_AgregarTipoDeItemAProyecto() { HelperTestSistema.LimpiarArchivoBD(); HelperTestSistema.IniciarServidor(); //Creamos 1 proyecto1 directamente en la BD con dos tipos de item var tiposDeItemProyecto1 = HelperInstanciacionItems.GetTiposDeItem("Proyecto 1", 2); var proyecto = HelperInstanciacionProyectos.GetProyectos(1)[0]; proyecto.AgregarTipoDeItem(tiposDeItemProyecto1[0]); proyecto.AgregarTipoDeItem(tiposDeItemProyecto1[1]); //Guardamos los objetos en la BD using (IContextoProceso contexto = new ContextoProceso(HelperTestSistema.ObjectFactory)) { contexto.ContenedorObjetos.Store(proyecto); } HelperTestSistema.ReiniciarConexion(); //Creamos un tipo de item y lo agregamos al proyecto a traves de la API var controller = new TiposItemController(HelperTestSistema.ObjectFactory); //Obtenemos el 2 ya que tenemos que simular un nuevo tipo de item var nuevoTipoItem = HelperInstanciacionItems.GetTiposDeItem("Proyecto 1", 3)[2]; controller.Post("P1", nuevoTipoItem); HelperTestSistema.ReiniciarConexion(); //Obtenemos los datos directamente de la base de datos para verificarlos 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"); //Debe haber un solo proyecto en la base de datos Assert.AreEqual(1, proyectosBD.ToList().Count); //El proyecto debe tener 3 tipos de item Assert.AreEqual(3, proyectosBD[0].TiposDeItem.Count()); //El tercer tipo de item debe ser el que agregamos Assert.AreEqual("Proyecto 1-Tipo de item de prueba 3", proyectosBD[0].TiposDeItem.ToList()[2].Descripcion); }