1
0

Improved testing flow

This commit is contained in:
2026-03-25 18:59:47 +01:00
parent 0566d9db10
commit dfe13b093d
9 changed files with 85 additions and 29 deletions

View File

@@ -22,8 +22,8 @@ test.describe('NickelMenu', () => {
await goToManualMode(page);
// Mode selection: NickelMenu should be pre-selected (checked in HTML)
await expect(page.locator('input[name="mode"][value="nickelmenu"]')).toBeChecked();
// Select NickelMenu and continue
await page.click('input[name="mode"][value="nickelmenu"]');
await page.click('#btn-mode-next');
// NickelMenu configure step
@@ -104,8 +104,8 @@ test.describe('NickelMenu', () => {
await goToManualMode(page);
// Mode selection
await expect(page.locator('input[name="mode"][value="nickelmenu"]')).toBeChecked();
// Select NickelMenu and continue
await page.click('input[name="mode"][value="nickelmenu"]');
await page.click('#btn-mode-next');
// NickelMenu configure step — select "Install NickelMenu with preset"
@@ -158,6 +158,7 @@ test.describe('NickelMenu', () => {
await connectMockDevice(page, { hasNickelMenu: false });
await page.click('#btn-device-next');
await page.click('input[name="mode"][value="nickelmenu"]');
await page.click('#btn-mode-next');
// Select "Install NickelMenu with preset"
@@ -193,6 +194,7 @@ test.describe('NickelMenu', () => {
test.skip(!hasNickelMenuAssets(), 'NickelMenu assets not found in webroot');
await goToManualMode(page);
await page.click('input[name="mode"][value="nickelmenu"]');
await page.click('#btn-mode-next');
await expect(page.locator('#step-nickelmenu')).not.toBeHidden();
@@ -228,6 +230,7 @@ test.describe('NickelMenu', () => {
test.skip(!hasNickelMenuAssets(), 'NickelMenu assets not found in webroot');
await goToManualMode(page);
await page.click('input[name="mode"][value="nickelmenu"]');
await page.click('#btn-mode-next');
await expect(page.locator('#step-nickelmenu')).not.toBeHidden();
@@ -246,8 +249,8 @@ test.describe('NickelMenu', () => {
await page.click('#btn-device-next');
await expect(page.locator('#step-mode')).not.toBeHidden();
// NickelMenu is pre-selected
await expect(page.locator('input[name="mode"][value="nickelmenu"]')).toBeChecked();
// Select NickelMenu and continue
await page.click('input[name="mode"][value="nickelmenu"]');
await page.click('#btn-mode-next');
// NickelMenu configure step
@@ -317,8 +320,9 @@ test.describe('NickelMenu', () => {
await connectMockDevice(page, { hasNickelMenu: false });
// Continue to mode selection
// Continue to mode selection → select NickelMenu
await page.click('#btn-device-next');
await page.click('input[name="mode"][value="nickelmenu"]');
await page.click('#btn-mode-next');
// NickelMenu configure step
@@ -349,8 +353,9 @@ test.describe('NickelMenu', () => {
await connectMockDevice(page, { hasNickelMenu: true });
// Continue to mode selection
// Continue to mode selection → select NickelMenu
await page.click('#btn-device-next');
await page.click('input[name="mode"][value="nickelmenu"]');
await page.click('#btn-mode-next');
// NickelMenu configure step
@@ -404,6 +409,7 @@ test.describe('NickelMenu', () => {
});
await page.click('#btn-device-next');
await page.click('input[name="mode"][value="nickelmenu"]');
await page.click('#btn-mode-next');
// Select remove
@@ -455,6 +461,7 @@ test.describe('NickelMenu', () => {
});
await page.click('#btn-device-next');
await page.click('input[name="mode"][value="nickelmenu"]');
await page.click('#btn-mode-next');
// NickelMenu configure step
@@ -493,6 +500,7 @@ test.describe('NickelMenu', () => {
test.skip(!hasReaderlyAssets(), 'Readerly assets not found (run readerly/setup.sh)');
await goToManualMode(page);
await page.click('input[name="mode"][value="nickelmenu"]');
await page.click('#btn-mode-next');
// Select preset → features
@@ -542,6 +550,7 @@ test.describe('NickelMenu', () => {
test.skip(!hasReaderlyAssets(), 'Readerly assets not found (run readerly/setup.sh)');
await goToManualMode(page);
await page.click('input[name="mode"][value="nickelmenu"]');
await page.click('#btn-mode-next');
// Preset path: enable some features

View File

@@ -18,7 +18,7 @@ module.exports = defineConfig({
actionTimeout: 10_000,
launchOptions: {
args: ['--disable-dev-shm-usage'],
serialMo: parseInt(process.env.SLOW_MO || '0', 10),
slowMo: parseInt(process.env.SLOW_MO || '0', 10),
},
},
webServer: {

View File

@@ -41,10 +41,10 @@ test('manual nickelmenu', async ({ page }, testInfo) => {
// Click "Build downloadable archive" to enter manual mode
await page.click('#btn-manual');
await expect(page.locator('#step-mode')).not.toBeHidden();
await shot(page, dir, '01-mode-selection', testInfo);
// Select NickelMenu → config
// Select NickelMenu, screenshot, then proceed
await page.click('input[name="mode"][value="nickelmenu"]');
await shot(page, dir, '01-mode-selection', testInfo);
await page.click('#btn-mode-next');
await expect(page.locator('#step-nickelmenu')).not.toBeHidden();
await shot(page, dir, '02-nickelmenu-config', testInfo);
@@ -90,10 +90,10 @@ test('manual patches', async ({ page }, testInfo) => {
// Click "Build downloadable archive" to enter manual mode
await page.click('#btn-manual');
await expect(page.locator('#step-mode')).not.toBeHidden();
await shot(page, dir, '01-mode-selection', testInfo);
// Select Patches → version selection
// Select Patches, then screenshot mode selection before proceeding
await page.click('input[name="mode"][value="patches"]');
await shot(page, dir, '01-mode-selection', testInfo);
await page.click('#btn-mode-next');
await expect(page.locator('#step-manual-version')).not.toBeHidden();
await shot(page, dir, '02-version-selection', testInfo);
@@ -160,13 +160,11 @@ test('connected nickelmenu', async ({ page }, testInfo) => {
await expect(page.locator('#step-device')).not.toBeHidden();
await shot(page, dir, '03-device', testInfo);
// Mode selection
// Mode selection — select NickelMenu, screenshot, then proceed
await page.click('#btn-device-next');
await expect(page.locator('#step-mode')).not.toBeHidden();
await shot(page, dir, '04-mode-selection', testInfo);
// NickelMenu config
await page.click('input[name="mode"][value="nickelmenu"]');
await shot(page, dir, '04-mode-selection', testInfo);
await page.click('#btn-mode-next');
await expect(page.locator('#step-nickelmenu')).not.toBeHidden();
await shot(page, dir, '05-nickelmenu-config', testInfo);
@@ -222,13 +220,11 @@ test('connected patches', async ({ page }, testInfo) => {
await expect(page.locator('#step-device')).not.toBeHidden();
await shot(page, dir, '03-device', testInfo);
// Mode selection
// Mode selection — select Patches, screenshot, then proceed
await page.click('#btn-device-next');
await expect(page.locator('#step-mode')).not.toBeHidden();
await shot(page, dir, '04-mode-selection', testInfo);
// Patches config
await page.click('input[name="mode"][value="patches"]');
await shot(page, dir, '04-mode-selection', testInfo);
await page.click('#btn-mode-next');
await expect(page.locator('#step-patches')).not.toBeHidden();
await shot(page, dir, '05-patches-config', testInfo);