Files
pluriwave/test/widgets/visualizador_audio_lifecycle_test.dart
T
FreeTLab c707fc9911
Build & Deploy Pluriwave / Análisis de código (push) Failing after 21s
Build & Deploy Pluriwave / Build APK + AAB release (push) Has been skipped
feat(ui): add premium PluriWave redesign
2026-05-20 18:42:22 +02:00

49 lines
1.4 KiB
Dart

import 'dart:async';
import 'package:flutter/material.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:pluriwave/servicios/servicio_audio.dart';
import 'package:pluriwave/widgets/visualizador_audio.dart';
void main() {
group('VisualizadorAudio lifecycle', () {
testWidgets('ignora eventos de estado después de dispose', (tester) async {
final controller = StreamController<EstadoReproduccion>.broadcast();
await tester.pumpWidget(
MaterialApp(
home: Scaffold(
body: VisualizadorAudio(estadoStream: controller.stream),
),
),
);
await tester.pumpWidget(const SizedBox.shrink());
controller.add(EstadoReproduccion.reproduciendo);
await tester.pump();
expect(tester.takeException(), isNull);
await controller.close();
});
testWidgets('ignora eventos de estado después de dispose en indicador', (tester) async {
final controller = StreamController<EstadoReproduccion>.broadcast();
await tester.pumpWidget(
MaterialApp(
home: Scaffold(
body: IndicadorReproduccion(estadoStream: controller.stream),
),
),
);
await tester.pumpWidget(const SizedBox.shrink());
controller.add(EstadoReproduccion.reproduciendo);
await tester.pump();
expect(tester.takeException(), isNull);
await controller.close();
});
});
}