Files
threshold-ui/e2e-tests/admin/tests/scope.spec.js
T
Michael Li 1bafbe1ad2 test(e2e): Address some Admin UI test flakiness (#2934)
* fix(e2e): Address flakiness during screen navigation

* fix(e2e): Fix function call

* fix(e2e): Address flakiness in connection

* fix(e2e): Make locator explicit to avoid conflict when an ID has `ok`

* fix(e2e): Fix URL now that project page defaults to showing targets
2025-09-03 11:28:33 -04:00

45 lines
1.3 KiB
JavaScript

/**
* Copyright (c) HashiCorp, Inc.
* SPDX-License-Identifier: BUSL-1.1
*/
import { test } from '../../global-setup.js';
import { expect } from '@playwright/test';
import { OrgsPage } from '../pages/orgs.js';
import * as boundaryHttp from '../../helpers/boundary-http.js';
test(
'Session picker',
{ tag: ['@ce', '@ent', '@aws', '@docker'] },
async ({ page, request }) => {
let org;
try {
// Create an org and project attached to the org
org = await boundaryHttp.createOrg(request);
const project = await boundaryHttp.createProject(request, org.id);
// Choose the org from the scope picker
await page.goto('/');
await expect(page.getByRole('heading', { name: 'Orgs' })).toBeVisible();
const orgsPage = new OrgsPage(page);
await orgsPage.chooseScopeFromDropdown('Global', org.name);
// Expect the project to be displayed on the projects page
await expect(
page.getByRole('link', { name: project.name }),
).toBeVisible();
// Switch back to global scope
await orgsPage.chooseScopeFromDropdown(org.name, 'Global');
// Expect to be back on the orgs page
await expect(page.getByRole('heading', { name: 'Orgs' })).toBeVisible();
} finally {
if (org.id) {
org = await request.delete(`/v1/scopes/${org.id}`);
}
}
},
);