fix(escuchar): restore the prototype's 132px hero artwork
Audit 1.3: the hero art shipped at 84 where the prototype draws 132 (t4 line 56), with a 24 corner radius rather than the shared radiusMd. Adds a dimension guard. Every existing test on this screen asserts behaviour only, which is why an artwork 36% too small went unnoticed.
This commit is contained in:
@@ -122,6 +122,48 @@ void main() {
|
||||
reason: 'switches tabs — must NOT push a new route',
|
||||
);
|
||||
});
|
||||
|
||||
testWidgets('visual fidelity (audit 1.3): the hero art is 132 square', (
|
||||
tester,
|
||||
) async {
|
||||
// The redesign shipped this at 84 — the prototype draws 132 (t4 line
|
||||
// 56). Nothing caught it because every existing test here asserts
|
||||
// behaviour, never dimensions. This is the guard that would have.
|
||||
_setLargeSurfaceSize(tester);
|
||||
final favoritos = FakeServicioFavoritos();
|
||||
final estado = EstadoRadio(
|
||||
audio: FakeServicioAudio(),
|
||||
favoritos: favoritos,
|
||||
radio: FakeServicioRadio(),
|
||||
servicioEcualizador: FakeServicioEcualizador(),
|
||||
servicioGrabacion: FakeServicioGrabacionRadio(),
|
||||
resolverArchivoCustom: _archivoCustomVacio,
|
||||
iniciarAutomaticamente: false,
|
||||
);
|
||||
addTearDown(estado.dispose);
|
||||
await tester.runAsync(estado.inicializar);
|
||||
final sonando = emisoraDemo(uuid: 'f1', nombre: 'Favorita Uno');
|
||||
await favoritos.agregar(sonando);
|
||||
await estado.cargarFavoritos();
|
||||
// The hero only renders when a station is active — `emisoraActual` is
|
||||
// what gates it. Without this the assertion below passes vacuously.
|
||||
await tester.runAsync(() => estado.reproducir(sonando));
|
||||
|
||||
await tester.pumpWidget(
|
||||
_conProviders(estado, _testApp(const PantallaInicio())),
|
||||
);
|
||||
await _pumpBounded(tester);
|
||||
|
||||
final cuadrados = tester
|
||||
.widgetList<SizedBox>(find.byType(SizedBox))
|
||||
.where((s) => s.width == 132 && s.height == 132);
|
||||
|
||||
expect(
|
||||
cuadrados,
|
||||
isNotEmpty,
|
||||
reason: 'prototype t4 line 56 sizes the Escuchar hero artwork at 132',
|
||||
);
|
||||
});
|
||||
}
|
||||
|
||||
/// Mirrors the app.dart wiring: EstadoRadio owns the domain notifiers and
|
||||
|
||||
Reference in New Issue
Block a user