private void button2_Click(object sender, EventArgs e) { String nombreRol = textBoxNombreRol.Text.Trim(); Boolean activo = checkBoxActivo.Checked; List <Funcionalidad> funcionalidades = new List <Funcionalidad>(); RepositorioRol repositorioRol = new RepositorioRol(); Rol rol = null; foreach (DataGridViewRow row in dataGridFuncionalidades.SelectedRows) { funcionalidades.Add((Funcionalidad)row.DataBoundItem); } rol = new Rol(0, nombreRol, activo, funcionalidades); //LA RESPONSABILIDAD DE VALIDAR EL INPUT LA DEJO EN LA INTERFAZ??? //O MEJOR EN EL REPOSITORIO Y LAS MANEJO CON EXCEPCIONES??? if (this.validoInput(this)) { try { repositorioRol.create(rol); MessageBox.Show("Rol creado con éxito.", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information); this.limpiarPantalla(); } //catch (ElementoYaExisteException exc) catch (Exception exc) { MessageBox.Show(exc.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Ingrese nombre del Rol y seleccione sus Funcionalidades.", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public void Test_Repo_Rol_Alta_Baja_Modificacion_Rol() { //INICIALIZO VARIABLES int idRolTest = 0; RepositorioRol repositorioRol = new RepositorioRol(); List <Funcionalidad> funcionalidades = new List <Funcionalidad>(); RepositorioFuncionalidad repositorioFuncionalidad = new RepositorioFuncionalidad(); //INICIALIZO EL ROL A CREAR String nombreRol = "RolTest"; Boolean activo = false; funcionalidades.Add(repositorioFuncionalidad.getByDescripcion("ABMRol")); funcionalidades.Add(repositorioFuncionalidad.getByDescripcion("ABMUsuario")); funcionalidades.Add(repositorioFuncionalidad.getByDescripcion("ABMHotel")); funcionalidades.Add(repositorioFuncionalidad.getByDescripcion("ABMRegimenEstadia")); Rol rolTest = new Rol(0, nombreRol, activo, funcionalidades); //DOY DE ALTA EL ROL idRolTest = repositorioRol.create(rolTest); //RECUPERO EL ROL CREADO rolTest = repositorioRol.getById(idRolTest); //VALIDO //QUE AHORA HAY UN ROL MAS (SON 5 POR DEFAULT) Assert.AreEqual(6, repositorioRol.getAll().Count); //QUE TRAIGA LOS VALORES QUE CARGUE Assert.AreEqual(nombreRol, rolTest.getNombre()); Assert.AreEqual(activo, rolTest.getActivo()); Assert.AreEqual(4, rolTest.getFuncionalidades().Count); Assert.IsTrue(rolTest.getFuncionalidades().Exists(f => f.getDescripcion().Equals("ABMRol"))); Assert.IsTrue(rolTest.getFuncionalidades().Exists(f => f.getDescripcion().Equals("ABMUsuario"))); Assert.IsTrue(rolTest.getFuncionalidades().Exists(f => f.getDescripcion().Equals("ABMHotel"))); Assert.IsTrue(rolTest.getFuncionalidades().Exists(f => f.getDescripcion().Equals("ABMRegimenEstadia"))); //MODIFICACION DE ROL String nuevoNombre = "NuevoNombre"; Boolean nuevoEstado = true; funcionalidades.Clear(); funcionalidades.Add(repositorioFuncionalidad.getByDescripcion("ABMReserva")); funcionalidades.Add(repositorioFuncionalidad.getByDescripcion("ABMCliente")); funcionalidades.Add(repositorioFuncionalidad.getByDescripcion("ABMHabitacion")); rolTest.setNombre(nuevoNombre); rolTest.setActivo(nuevoEstado); rolTest.setFuncionalidades(funcionalidades); //ACTUALIZACION DEL ROL EN LA BASE repositorioRol.update(rolTest); //RECUPERO EL ROL ACTUALIZADO rolTest = repositorioRol.getById(idRolTest); //VALIDO //QUE LA CANTIDAD DE LOS ROLES SIGUE SIENDO LA MISMA Assert.AreEqual(6, repositorioRol.getAll().Count); //QUE EL NOMBRE CAMBIO Assert.AreEqual(nuevoNombre, rolTest.getNombre()); //QUE EL ESTADO CAMBIO Assert.AreEqual(nuevoEstado, rolTest.getActivo()); //QUE LAS FUNCIONALIDADES CAMBIARON Assert.AreEqual(3, rolTest.getFuncionalidades().Count); Assert.IsTrue(rolTest.getFuncionalidades().Exists(f => f.getDescripcion().Equals("ABMReserva"))); Assert.IsTrue(rolTest.getFuncionalidades().Exists(f => f.getDescripcion().Equals("ABMCliente"))); Assert.IsTrue(rolTest.getFuncionalidades().Exists(f => f.getDescripcion().Equals("ABMHabitacion"))); //TESTEO LA BAJA LOGICA repositorioRol.bajaLogica(rolTest); rolTest = repositorioRol.getById(idRolTest); Assert.AreEqual(false, rolTest.getActivo()); //ELIMINACION DE ROL PARA MANTENER CONSISTENCIA DE LA BASE Y LA COHERENCIA DE LOS TESTS repositorioRol.delete(rolTest); //VALIDO QUE LA CANTIDAD DE ROLES VUELVA A 5 Assert.AreEqual(5, repositorioRol.getAll().Count); }