feat: add episode action setting

close #1351
This commit is contained in:
edde746
2026-06-18 11:16:38 +02:00
parent 075e4aeb32
commit 94f2daa22e
38 changed files with 317 additions and 75 deletions
@@ -2,6 +2,7 @@ import 'package:flutter_test/flutter_test.dart';
import 'package:plezy/media/media_backend.dart';
import 'package:plezy/media/media_item.dart';
import 'package:plezy/media/media_kind.dart';
import 'package:plezy/services/settings_service.dart';
import 'package:plezy/utils/media_navigation_helper.dart';
void main() {
@@ -57,4 +58,46 @@ void main() {
expect(target.initialSeasonId, isNull);
expect(target.initialEpisodeId, isNull);
});
group('episode activation details decision', () {
test('normal activation uses the episode action setting', () {
expect(
shouldOpenEpisodeDetailsForActivation(
playDirectly: false,
continueWatchingAction: ContinueWatchingAction.details,
episodeAction: EpisodeAction.play,
),
isFalse,
);
expect(
shouldOpenEpisodeDetailsForActivation(
playDirectly: false,
continueWatchingAction: ContinueWatchingAction.play,
episodeAction: EpisodeAction.details,
),
isTrue,
);
});
test('play-direct activation uses only the continue watching action setting', () {
expect(
shouldOpenEpisodeDetailsForActivation(
playDirectly: true,
continueWatchingAction: ContinueWatchingAction.play,
episodeAction: EpisodeAction.details,
),
isFalse,
);
expect(
shouldOpenEpisodeDetailsForActivation(
playDirectly: true,
continueWatchingAction: ContinueWatchingAction.details,
episodeAction: EpisodeAction.play,
),
isTrue,
);
});
});
}