Files
threshold-ui/e2e-tests/admin/tests/scope.spec.js
T
dillanb-hashi dbf3617224 test(ui): Test the scope picker on the top menu bar (#2788)
* test(ui): Test the scope picker on the top menu bar
* test(ui): Fixing based on recent menu bar changes
2025-05-06 09:39:48 -07:00

45 lines
1.4 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('/');
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}`);
}
}
},
);