import 'package:cardash_launcher/core/theme/app_theme.dart'; import 'package:cardash_launcher/data/models/system_status.dart'; import 'package:cardash_launcher/features/home/widgets/volume_card.dart'; import 'package:flutter/material.dart'; import 'package:flutter_test/flutter_test.dart'; void main() { testWidgets('the ring switches between play and pause', (tester) async { var playing = false; var taps = 0; await tester.pumpWidget( MaterialApp( theme: AppTheme.dark(), home: Scaffold( body: StatefulBuilder( builder: (context, setState) { return VolumeCard( volume: const VolumeInfo(index: 8, max: 15), onSetVolume: (_) {}, onToggleMute: () {}, isMusicPlaying: playing, onPlayPause: () { taps++; setState(() => playing = !playing); }, ); }, ), ), ), ); expect(find.byIcon(Icons.play_arrow_rounded), findsOneWidget); expect(find.byIcon(Icons.pause_rounded), findsNothing); await tester.tap(find.byIcon(Icons.play_arrow_rounded)); await tester.pump(); expect(taps, 1); expect(find.byIcon(Icons.pause_rounded), findsOneWidget); expect(find.byIcon(Icons.play_arrow_rounded), findsNothing); }); }