Files
SpotiFLAC-Mobile/test/music_player_provider_test.dart
T

39 lines
1.2 KiB
Dart

import 'package:audio_service/audio_service.dart';
import 'package:flutter_riverpod/flutter_riverpod.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:spotiflac_android/providers/music_player_provider.dart';
void main() {
test('Library playback state follows only the current media item', () async {
final container = ProviderContainer(
overrides: [
currentMediaItemProvider.overrideWith(
(ref) =>
Stream.value(const MediaItem(id: 'track-1', title: 'Track 1')),
),
playbackPlayingProvider.overrideWith((ref) => true),
playbackLoadingProvider.overrideWith((ref) => false),
],
);
addTearDown(container.dispose);
final currentMediaSubscription = container.listen(
currentMediaItemProvider,
(_, _) {},
);
addTearDown(currentMediaSubscription.close);
await container.read(currentMediaItemProvider.future);
expect(container.read(mediaItemPlaybackUiProvider('track-1')), (
isCurrent: true,
isPlaying: true,
isLoading: false,
));
expect(container.read(mediaItemPlaybackUiProvider('track-2')), (
isCurrent: false,
isPlaying: false,
isLoading: false,
));
});
}