fix(favorite): 统一收藏状态与互动图标

This commit is contained in:
Zhou Weidong committed 2026-10-27 09:31:48 +08:00
1 parent 4b97f89c0b
commit d3dbc9f8dc
13 files changed
+347 -213

No files matched your search

+48 -4
View File
@@ -630,6 +630,53 @@ void main() {
expect(interactions.likeTargets, ['EPISODE:the-signal-demo-1']);
});
testWidgets('should_keep_favorite_count_when_player_saves_and_returns', (
tester,
) async {
await _pumpApp(tester);
await tester.tap(find.byKey(const Key('tab-recommend')));
await tester.pumpAndSettle();
final initialCount = _railLabel(tester, const Key('rail-save'));
await tester.tap(find.byKey(const Key('home-feed-series-name')));
await tester.pumpAndSettle();
expect(_railLabel(tester, const Key('player-rail-save')), initialCount);
await tester.tap(find.byKey(const Key('player-rail-save')));
await tester.pumpAndSettle();
final savedCount = _railLabel(tester, const Key('player-rail-save'));
expect(savedCount, isNot(initialCount));
await tester.tap(find.byKey(const Key('player-back')));
await tester.pumpAndSettle();
expect(find.byType(AuthPage), findsNothing);
expect(_railLabel(tester, const Key('rail-save')), savedCount);
});
testWidgets('should_keep_favorite_state_when_recommend_opens_player', (
tester,
) async {
await _pumpApp(tester);
await tester.tap(find.byKey(const Key('tab-recommend')));
await tester.pumpAndSettle();
await tester.tap(find.byKey(const Key('rail-save')));
await tester.pumpAndSettle();
final savedCount = _railLabel(tester, const Key('rail-save'));
await tester.tap(find.byKey(const Key('home-feed-series-name')));
await tester.pumpAndSettle();
expect(_railLabel(tester, const Key('player-rail-save')), savedCount);
final saveImage = tester.widget<Image>(
find.descendant(
of: find.byKey(const Key('player-rail-save')),
matching: find.byType(Image),
),
);
expect(saveImage.color, AppColors.blue);
});
testWidgets('should_keep_video_surface_background_black', (tester) async {
await _pumpApp(tester);
await _openSeriesPlayer(tester);
@@ -646,9 +693,7 @@ void main() {
expect(find.byKey(const Key('player-fallback-scrim')), findsNothing);
});
testWidgets('should_open_comments_without_login', (
tester,
) async {
testWidgets('should_open_comments_without_login', (tester) async {
await _pumpApp(tester);
await _openSeriesPlayer(tester);
@@ -1914,7 +1959,6 @@ void main() {
find.text('Available unlock methods vary by title.'),
findsOneWidget,
);
});
testWidgets('should_require_login_before_opening_unlock_flow', (