| 12345678910111213141516171819202122232425262728293031323334 |
- import 'package:cardash_launcher/data/models/media_playback.dart';
- import 'package:flutter_test/flutter_test.dart';
- void main() {
- test('parses media session metadata and progress', () {
- final media = MediaPlayback.fromMap({
- 'hasAccess': true,
- 'hasSession': true,
- 'playing': true,
- 'title': 'Night Drive',
- 'artist': 'The Dashboard',
- 'durationMs': 240000,
- 'positionMs': 60000,
- });
- expect(media.hasTitle, isTrue);
- expect(media.displayTitle, 'Night Drive — The Dashboard');
- expect(media.progress, 0.25);
- expect(media.playing, isTrue);
- expect(media.hasAccess, isTrue);
- });
- test('empty media state has no title or progress', () {
- const media = MediaPlayback();
- expect(media.hasTitle, isFalse);
- expect(media.displayTitle, isNull);
- expect(media.progress, 0);
- });
- test('progress is clamped for a malformed duration position', () {
- const media = MediaPlayback(durationMs: 1000, positionMs: 4000);
- expect(media.progress, 1.0);
- });
- }
|