Skip to content

Commit e0949a0

Browse files
committed
fix: stabilize policy menu visibility test and align local Playwright base URL defaults
Signed-off-by: Vitor Mattos <1079143+vitormattos@users.noreply.github.com>
1 parent f007c70 commit e0949a0

3 files changed

Lines changed: 19 additions & 6 deletions

File tree

playwright/e2e/policy-settings-menu-visibility.spec.ts

Lines changed: 17 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,13 +128,26 @@ test('policies nav item is visible when group admin can customize policies even
128128

129129
await createPolicyDialog.getByRole('option', { name: /^Group/ }).click()
130130

131-
const targetGroupsField = page.getByLabel('Target groups')
131+
const targetGroupsField = createPolicyDialog.getByLabel('Target groups').first()
132132
await expect(targetGroupsField).toBeVisible({ timeout: 10000 })
133-
await page.getByPlaceholder('Search groups').fill(GROUP_ID)
134-
await page.getByRole('option', { name: GROUP_ID }).first().click()
133+
await targetGroupsField.click()
134+
135+
const searchGroupsInput = createPolicyDialog.getByPlaceholder('Search groups').first()
136+
await expect(searchGroupsInput).toBeVisible({ timeout: 10000 })
137+
await searchGroupsInput.fill(GROUP_ID)
138+
139+
const groupOption = createPolicyDialog.getByRole('option', { name: new RegExp(`^${GROUP_ID}$`, 'i') }).first()
140+
const optionWasVisible = await groupOption.waitFor({ state: 'visible', timeout: 8000 }).then(() => true).catch(() => false)
141+
if (optionWasVisible) {
142+
await groupOption.click()
143+
} else {
144+
await searchGroupsInput.press('ArrowDown')
145+
await searchGroupsInput.press('Enter')
146+
}
147+
await searchGroupsInput.press('Tab').catch(() => {})
135148

136149
await Promise.any([
137150
createPolicyDialog.getByRole('option', { name: /^Group/ }).waitFor({ state: 'visible', timeout: 10000 }),
138-
page.getByLabel('Target groups').waitFor({ state: 'visible', timeout: 10000 }),
151+
createPolicyDialog.getByLabel('Target groups').waitFor({ state: 'visible', timeout: 10000 }),
139152
])
140153
})

playwright/support/policy-api.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,7 @@ export async function createAuthenticatedRequestContext(
4949
const auth = 'Basic ' + Buffer.from(`${authUser}:${authPassword}`).toString('base64')
5050

5151
return request.newContext({
52-
baseURL: process.env.PLAYWRIGHT_BASE_URL ?? 'http://localhost:3000',
52+
baseURL: process.env.PLAYWRIGHT_BASE_URL ?? 'http://localhost',
5353
ignoreHTTPSErrors: true,
5454
extraHTTPHeaders: {
5555
'OCS-ApiRequest': 'true',

playwright/support/system-policies.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export async function makeAdminContext(): Promise<APIRequestContext> {
3939
const adminPassword = process.env.NEXTCLOUD_ADMIN_PASSWORD ?? 'admin'
4040

4141
return request.newContext({
42-
baseURL: process.env.PLAYWRIGHT_BASE_URL ?? 'http://localhost:3000',
42+
baseURL: process.env.PLAYWRIGHT_BASE_URL ?? 'http://localhost',
4343
ignoreHTTPSErrors: true,
4444
extraHTTPHeaders: {
4545
'OCS-ApiRequest': 'true',

0 commit comments

Comments
 (0)