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); }); }