feat(quality): harden lint rules and add quality-gate tests

This commit is contained in:
2026-06-12 00:05:06 +02:00
parent 202bef3539
commit 8a032e6e62
21 changed files with 485 additions and 140 deletions
@@ -31,20 +31,23 @@ void main() {
);
}
test('primera instalación crea esquema completo y guarda favoritos', () async {
final servicio = crearServicio();
addTearDown(servicio.cerrar);
test(
'primera instalación crea esquema completo y guarda favoritos',
() async {
final servicio = crearServicio();
addTearDown(servicio.cerrar);
await servicio.agregar(_emisora('radio-1', 'Radio Uno'));
await servicio.agregar(_emisora('radio-1', 'Radio Uno'));
final favoritos = await servicio.obtenerTodos();
final grupos = await servicio.obtenerGrupos();
final favoritos = await servicio.obtenerTodos();
final grupos = await servicio.obtenerGrupos();
expect(favoritos, hasLength(1));
expect(favoritos.single.grupoFavoritosId, GrupoFavoritos.sinAsignarId);
expect(grupos, hasLength(1));
expect(grupos.single.esSinAsignar, isTrue);
});
expect(favoritos, hasLength(1));
expect(favoritos.single.grupoFavoritosId, GrupoFavoritos.sinAsignarId);
expect(grupos, hasLength(1));
expect(grupos.single.esSinAsignar, isTrue);
},
);
test('migra esquema antiguo sin grupo ni columnas nuevas', () async {
final dbPath = p.join(tempDir.path, 'pluriwave.db');
@@ -84,10 +87,7 @@ void main() {
final grupo = await servicio.crearGrupo('Viajes');
await servicio.asignarGrupo('legacy-1', grupo.id);
expect(
(await servicio.obtenerTodos()).single.grupoFavoritosId,
grupo.id,
);
expect((await servicio.obtenerTodos()).single.grupoFavoritosId, grupo.id);
});
test('eliminar grupo reasigna sus favoritos a Sin asignar', () async {