Files
ReelShort/test/playback/player_quality_test.dart

40 lines
1.3 KiB
Dart

// Author: fruit.com.cn
import 'package:flutter/services.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:fruitshorts/core/data/models/drama.dart';
import 'package:fruitshorts/core/data/models/play_ticket.dart';
import 'package:fruitshorts/core/data/repositories/playback_repository.dart';
import 'package:fruitshorts/core/data/services/android_picture_in_picture.dart';
import 'package:fruitshorts/pages/player/player_logic.dart';
import '../support/fake_watch_history.dart';
void main() {
test('should_expose_ticket_qualities_when_ticket_is_loaded', () async {
final logic = PlayerLogic(
history: FakeWatchHistory(),
playback: FakePlaybackRepository(
ticket: const PlayTicket(
episodeId: '12',
accessible: true,
accessType: PlayTicket.free,
playUrl: '/files/episode/12.m3u8?e=1&s=abc',
qualities: ['AUTO', '720P', '1080P'],
),
),
pictureInPicture: AndroidPictureInPicture(
channel: const MethodChannel('test/player_quality/pip'),
),
);
logic.sessionEpisodes = [
Episode(id: '12', number: 1, title: 'Episode 1', isFree: true),
];
final ready = await logic.ensureTicket(0);
expect(ready, isTrue);
expect(logic.qualities, ['AUTO', '720P', '1080P']);
});
}