Files
musicdl-catalog-sync-suite/MusicFree/src/entry/bootstrap/trackPlayerOptions.test.ts
T

49 lines
1.6 KiB
TypeScript

import { getTrackPlayerOptionPayload } from "./trackPlayerOptions";
describe("getTrackPlayerOptionPayload", () => {
const Capability = {
Play: "Play",
Pause: "Pause",
SkipToNext: "SkipToNext",
SkipToPrevious: "SkipToPrevious",
Stop: "Stop",
SeekTo: "SeekTo",
} as const;
const AppKilledPlaybackBehavior = {
ContinuePlayback: "ContinuePlayback",
} as const;
it("keeps the playback service foreground across short track transition gaps", () => {
const options = getTrackPlayerOptionPayload(
false,
Capability,
AppKilledPlaybackBehavior,
);
expect(options.android.stopForegroundGracePeriod).toBe(30);
expect(options.android.appKilledPlaybackBehavior).toBe(
AppKilledPlaybackBehavior.ContinuePlayback,
);
expect(options.android.alwaysPauseOnInterruption).toBe(false);
});
it("includes stop capability only when exit action is enabled", () => {
const withStop = getTrackPlayerOptionPayload(
true,
Capability,
AppKilledPlaybackBehavior,
);
const withoutStop = getTrackPlayerOptionPayload(
false,
Capability,
AppKilledPlaybackBehavior,
);
expect(withStop.capabilities).toContain(Capability.Stop);
expect(withoutStop.capabilities).not.toContain(Capability.Stop);
expect(withStop.notificationCapabilities).toContain(Capability.SeekTo);
expect(withoutStop.notificationCapabilities).toContain(Capability.SeekTo);
});
});