Improved testing flow
This commit is contained in:
@@ -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
|
||||
|
||||
@@ -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: {
|
||||
|
||||
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user