mirror of
https://github.com/4gray/iptvnator.git
synced 2026-10-14 05:06:16 -08:00
add scoped coverage reporting
This commit is contained in:
1 parent
ade043d427
commit
fb576d7a78
31 files changed
+1407
-45
No files matched your search
@@ -29,7 +29,7 @@ const epgFixtureXml = `<?xml version="1.0" encoding="UTF-8"?>
|
||||
`;
|
||||
|
||||
test.describe('Electron EPG', () => {
|
||||
test('adds an EPG source, fetches guide data, removes the source row, and clears stored EPG data', async ({
|
||||
test('@epg @electron adds an EPG source, fetches guide data, removes the source row, and clears stored EPG data', async ({
|
||||
dataDir,
|
||||
}) => {
|
||||
const epgServer = await createMutableTextServer(epgFixtureXml, {
|
||||
@@ -85,7 +85,7 @@ test.describe('Electron EPG', () => {
|
||||
}
|
||||
});
|
||||
|
||||
test('uses the XMLTV channel icon as a fallback when the playlist has no tvg-logo', async ({
|
||||
test('@epg @electron uses the XMLTV channel icon as a fallback when the playlist has no tvg-logo', async ({
|
||||
dataDir,
|
||||
}) => {
|
||||
const playlistServer = await createMutableTextServer(
|
||||
|
||||
@@ -43,7 +43,7 @@ import {
|
||||
} from './portal-mock-fixtures';
|
||||
|
||||
test.describe('Electron Favorites', () => {
|
||||
test('shows M3U favorites in playlist and all-playlists scope, and preserves them after restart', async ({
|
||||
test('@persistence @m3u @electron shows M3U favorites in playlist and all-playlists scope, and preserves them after restart', async ({
|
||||
dataDir,
|
||||
}) => {
|
||||
const playlistTitle = 'm3u-favorites-source.m3u';
|
||||
@@ -172,7 +172,7 @@ test.describe('Electron Favorites', () => {
|
||||
}
|
||||
});
|
||||
|
||||
test('shows Xtream live, movie, and series favorites in playlist and all-playlists scope, and preserves them after restart', async ({
|
||||
test('@persistence @xtream @electron shows Xtream live, movie, and series favorites in playlist and all-playlists scope, and preserves them after restart', async ({
|
||||
dataDir,
|
||||
request,
|
||||
}) => {
|
||||
@@ -374,7 +374,7 @@ test.describe('Electron Favorites', () => {
|
||||
}
|
||||
});
|
||||
|
||||
test('shows Stalker live, movie, and series favorites in playlist and all-playlists scope, and preserves them after restart', async ({
|
||||
test('@persistence @stalker @electron shows Stalker live, movie, and series favorites in playlist and all-playlists scope, and preserves them after restart', async ({
|
||||
dataDir,
|
||||
request,
|
||||
}) => {
|
||||
|
||||
@@ -8,7 +8,7 @@ import {
|
||||
} from './electron-test-fixtures';
|
||||
|
||||
test.describe('Electron Native Playlist Import', () => {
|
||||
test('imports an M3U playlist via the native file picker path', async ({
|
||||
test('@m3u @electron imports an M3U playlist via the native file picker path', async ({
|
||||
dataDir,
|
||||
}) => {
|
||||
const app = await launchElectronApp(dataDir);
|
||||
|
||||
@@ -19,7 +19,7 @@ import {
|
||||
} from './electron-test-fixtures';
|
||||
|
||||
test.describe('Electron Provider Smoke Tests', () => {
|
||||
test('loads Xtream content through the Electron IPC path', async ({
|
||||
test('@xtream @electron loads Xtream content through the Electron IPC path', async ({
|
||||
dataDir,
|
||||
request,
|
||||
}) => {
|
||||
@@ -42,7 +42,7 @@ test.describe('Electron Provider Smoke Tests', () => {
|
||||
}
|
||||
});
|
||||
|
||||
test('loads Stalker content through the Electron IPC path', async ({
|
||||
test('@stalker @electron loads Stalker content through the Electron IPC path', async ({
|
||||
dataDir,
|
||||
request,
|
||||
}) => {
|
||||
@@ -67,7 +67,7 @@ test.describe('Electron Provider Smoke Tests', () => {
|
||||
}
|
||||
});
|
||||
|
||||
test('shows refresh overlay immediately from the dashboard Xtream source menu', async ({
|
||||
test('@xtream @electron shows refresh overlay immediately from the dashboard Xtream source menu', async ({
|
||||
dataDir,
|
||||
request,
|
||||
}) => {
|
||||
|
||||
@@ -89,7 +89,7 @@ test.describe('Electron Recently Viewed', () => {
|
||||
}
|
||||
});
|
||||
|
||||
test('tracks M3U recent channels in newest-first order, supports all-playlists scope, and persists favorites after restart', async ({
|
||||
test('@persistence @m3u @electron tracks M3U recent channels in newest-first order, supports all-playlists scope, and persists favorites after restart', async ({
|
||||
dataDir,
|
||||
}) => {
|
||||
const playlistTitle = 'm3u-recent-source.m3u';
|
||||
@@ -219,7 +219,7 @@ test.describe('Electron Recently Viewed', () => {
|
||||
}
|
||||
});
|
||||
|
||||
test('tracks Xtream live, movie, and series history across playlist and all-playlists scope, persists after restart, and supports clearing', async ({
|
||||
test('@persistence @xtream @electron tracks Xtream live, movie, and series history across playlist and all-playlists scope, persists after restart, and supports clearing', async ({
|
||||
dataDir,
|
||||
request,
|
||||
}) => {
|
||||
@@ -425,7 +425,7 @@ test.describe('Electron Recently Viewed', () => {
|
||||
}
|
||||
});
|
||||
|
||||
test('tracks Stalker live, movie, and series history across playlist and all-playlists scope, and preserves it after restart', async ({
|
||||
test('@persistence @stalker @electron tracks Stalker live, movie, and series history across playlist and all-playlists scope, and preserves it after restart', async ({
|
||||
dataDir,
|
||||
request,
|
||||
}) => {
|
||||
|
||||
@@ -41,7 +41,7 @@ const epgFixtureXml = `<?xml version="1.0" encoding="UTF-8"?>
|
||||
`;
|
||||
|
||||
test.describe('Electron Settings', () => {
|
||||
test('gates external MPV playback behind double-click when enabled', async ({
|
||||
test('@settings @electron gates external MPV playback behind double-click when enabled', async ({
|
||||
dataDir,
|
||||
}) => {
|
||||
const app = await launchElectronApp(dataDir);
|
||||
@@ -121,7 +121,7 @@ test.describe('Electron Settings', () => {
|
||||
}
|
||||
});
|
||||
|
||||
test('persists changed desktop settings across app restart', async ({
|
||||
test('@settings @persistence @electron persists changed desktop settings across app restart', async ({
|
||||
dataDir,
|
||||
}) => {
|
||||
const epgServer = await createMutableTextServer(epgFixtureXml, {
|
||||
@@ -207,7 +207,7 @@ test.describe('Electron Settings', () => {
|
||||
}
|
||||
});
|
||||
|
||||
test('starts on sources when dashboard is disabled', async ({ dataDir }) => {
|
||||
test('@settings @electron starts on sources when dashboard is disabled', async ({ dataDir }) => {
|
||||
const firstLaunch = await launchElectronApp(dataDir);
|
||||
|
||||
try {
|
||||
|
||||
@@ -6,7 +6,7 @@ import {
|
||||
} from './electron-test-fixtures';
|
||||
|
||||
test.describe('Electron App Smoke Test', () => {
|
||||
test('app should start and display the dashboard', async ({ dataDir }) => {
|
||||
test('@critical @electron app should start and display the dashboard', async ({ dataDir }) => {
|
||||
const app = await launchElectronApp(dataDir);
|
||||
|
||||
try {
|
||||
@@ -27,7 +27,7 @@ test.describe('Electron App Smoke Test', () => {
|
||||
}
|
||||
});
|
||||
|
||||
test('app should expose the expected main window properties', async ({
|
||||
test('@critical @electron app should expose the expected main window properties', async ({
|
||||
dataDir,
|
||||
}) => {
|
||||
const app = await launchElectronApp(dataDir);
|
||||
@@ -57,7 +57,7 @@ test.describe('Electron App Smoke Test', () => {
|
||||
}
|
||||
});
|
||||
|
||||
test('app should render workspace content', async ({ dataDir }) => {
|
||||
test('@critical @electron app should render workspace content', async ({ dataDir }) => {
|
||||
const app = await launchElectronApp(dataDir);
|
||||
|
||||
try {
|
||||
|
||||
@@ -22,7 +22,7 @@ const epgCredentials = {
|
||||
};
|
||||
|
||||
for (const timeZone of ['UTC', 'Europe/Berlin'] as const) {
|
||||
test(`renders Xtream EPG previews and selected-channel schedule in ${timeZone}`, async ({
|
||||
test(`@epg @xtream @electron renders Xtream EPG previews and selected-channel schedule in ${timeZone}`, async ({
|
||||
dataDir,
|
||||
request,
|
||||
}) => {
|
||||
|
||||
Reference in new issue
Block a user