test: simplify browser test module loading
This commit is contained in:
@@ -48,6 +48,7 @@ type FakeVideoElement = FakeElement & {
|
|||||||
|
|
||||||
type PlayerModules = {
|
type PlayerModules = {
|
||||||
completeAnime: (episodeNumber: number) => Promise<void>;
|
completeAnime: (episodeNumber: number) => Promise<void>;
|
||||||
|
refreshCurrentModeSource: (signal?: AbortSignal) => Promise<boolean>;
|
||||||
saveProgress: (force?: boolean, progressSeconds?: number) => Promise<void>;
|
saveProgress: (force?: boolean, progressSeconds?: number) => Promise<void>;
|
||||||
setupProgress: () => void;
|
setupProgress: () => void;
|
||||||
state: typeof import("./state").state;
|
state: typeof import("./state").state;
|
||||||
@@ -187,16 +188,25 @@ const flushPromises = async (): Promise<void> => {
|
|||||||
await Promise.resolve();
|
await Promise.resolve();
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const loadPlayerModules = async (): Promise<PlayerModules> => {
|
||||||
|
const completeModule = await import("./episodes/complete");
|
||||||
|
const progressModule = await import("./progress");
|
||||||
|
const stateModule = await import("./state");
|
||||||
|
const sourceModule = await import("./source");
|
||||||
|
|
||||||
|
return {
|
||||||
|
completeAnime: completeModule.completeAnime,
|
||||||
|
refreshCurrentModeSource: sourceModule.refreshCurrentModeSource,
|
||||||
|
saveProgress: progressModule.saveProgress,
|
||||||
|
setupProgress: progressModule.setupProgress,
|
||||||
|
state: stateModule.state,
|
||||||
|
streamUrlForMode: sourceModule.streamUrlForMode,
|
||||||
|
};
|
||||||
|
};
|
||||||
|
|
||||||
before(async () => {
|
before(async () => {
|
||||||
installBrowserGlobals();
|
installBrowserGlobals();
|
||||||
const [{ completeAnime }, { saveProgress, setupProgress }, { state }, { streamUrlForMode }] =
|
modules = await loadPlayerModules();
|
||||||
await Promise.all([
|
|
||||||
import("./episodes/complete"),
|
|
||||||
import("./progress"),
|
|
||||||
import("./state"),
|
|
||||||
import("./source"),
|
|
||||||
]);
|
|
||||||
modules = { completeAnime, saveProgress, setupProgress, state, streamUrlForMode };
|
|
||||||
});
|
});
|
||||||
|
|
||||||
beforeEach(() => {
|
beforeEach(() => {
|
||||||
|
|||||||
Reference in New Issue
Block a user