@@ -13,62 +13,63 @@ test.describe.configure({ mode: "parallel" });
1313
1414test . beforeEach ( async ( { page} ) => {
1515beforeCoderTest ( page ) ;
16- await login ( page , users . auditor ) ;
1716} ) ;
1817
19- async function resetSearch ( page :Page ) {
18+ async function resetSearch ( page :Page , username : string ) {
2019const clearButton = page . getByLabel ( "Clear search" ) ;
2120if ( await clearButton . isVisible ( ) ) {
2221await clearButton . click ( ) ;
2322}
2423
2524// Filter by the auditor test user to prevent race conditions
26- const user = currentUser ( page ) ;
2725await expect ( page . getByText ( "All users" ) ) . toBeVisible ( ) ;
28- await page . getByPlaceholder ( "Search..." ) . fill ( `username:${ user . username } ` ) ;
26+ await page . getByPlaceholder ( "Search..." ) . fill ( `username:${ username } ` ) ;
2927await expect ( page . getByText ( "All users" ) ) . not . toBeVisible ( ) ;
3028}
3129
3230test ( "logins are logged" , async ( { page} ) => {
3331requiresLicense ( ) ;
3432
3533// Go to the audit history
34+ await login ( page , users . auditor ) ;
3635await page . goto ( "/audit" ) ;
36+ const username = users . auditor . username ;
3737
3838const user = currentUser ( page ) ;
39- const loginMessage = `${ user . username } logged in` ;
39+ const loginMessage = `${ username } logged in` ;
4040// Make sure those things we did all actually show up
41- await resetSearch ( page ) ;
41+ await resetSearch ( page , username ) ;
4242await expect ( page . getByText ( loginMessage ) . first ( ) ) . toBeVisible ( ) ;
4343} ) ;
4444
4545test ( "creating templates and workspaces is logged" , async ( { page} ) => {
4646requiresLicense ( ) ;
4747
4848// Do some stuff that should show up in the audit logs
49+ await login ( page , users . templateAdmin ) ;
50+ const username = users . templateAdmin . username ;
4951const templateName = await createTemplate ( page ) ;
5052const workspaceName = await createWorkspace ( page , templateName ) ;
5153
5254// Go to the audit history
55+ await login ( page , users . auditor ) ;
5356await page . goto ( "/audit" ) ;
5457
55- const user = currentUser ( page ) ;
56-
5758// Make sure those things we did all actually show up
58- await resetSearch ( page ) ;
59+ await resetSearch ( page , username ) ;
5960await expect (
60- page . getByText ( `${ user . username } created template${ templateName } ` ) ,
61+ page . getByText ( `${ username } created template${ templateName } ` ) ,
6162) . toBeVisible ( ) ;
6263await expect (
63- page . getByText ( `${ user . username } created workspace${ workspaceName } ` ) ,
64+ page . getByText ( `${ username } created workspace${ workspaceName } ` ) ,
6465) . toBeVisible ( ) ;
6566await expect (
66- page . getByText ( `${ user . username } started workspace${ workspaceName } ` ) ,
67+ page . getByText ( `${ username } started workspace${ workspaceName } ` ) ,
6768) . toBeVisible ( ) ;
6869
6970// Make sure we can inspect the details of the log item
7071const createdWorkspace = page . locator ( ".MuiTableRow-root" , {
71- hasText :`${ user . username } created workspace${ workspaceName } ` ,
72+ hasText :`${ username } created workspace${ workspaceName } ` ,
7273} ) ;
7374await createdWorkspace . getByLabel ( "open-dropdown" ) . click ( ) ;
7475await expect (
@@ -83,18 +84,19 @@ test("inspecting and filtering audit logs", async ({ page }) => {
8384requiresLicense ( ) ;
8485
8586// Do some stuff that should show up in the audit logs
87+ await login ( page , users . templateAdmin ) ;
88+ const username = users . templateAdmin . username ;
8689const templateName = await createTemplate ( page ) ;
8790const workspaceName = await createWorkspace ( page , templateName ) ;
8891
8992// Go to the audit history
93+ await login ( page , users . auditor ) ;
9094await page . goto ( "/audit" ) ;
91-
92- const user = currentUser ( page ) ;
93- const loginMessage = `${ user . username } logged in` ;
94- const startedWorkspaceMessage = `${ user . username } started workspace${ workspaceName } ` ;
95+ const loginMessage = `${ username } logged in` ;
96+ const startedWorkspaceMessage = `${ username } started workspace${ workspaceName } ` ;
9597
9698// Filter by resource type
97- await resetSearch ( page ) ;
99+ await resetSearch ( page , username ) ;
98100await page . getByText ( "All resource types" ) . click ( ) ;
99101const workspaceBuildsOption = page . getByText ( "Workspace Build" ) ;
100102await workspaceBuildsOption . scrollIntoViewIfNeeded ( { timeout :5000 } ) ;
@@ -107,7 +109,7 @@ test("inspecting and filtering audit logs", async ({ page }) => {
107109await expect ( page . getByText ( "All resource types" ) ) . toBeVisible ( ) ;
108110
109111// Filter by action type
110- await resetSearch ( page ) ;
112+ await resetSearch ( page , username ) ;
111113await page . getByText ( "All actions" ) . click ( ) ;
112114await page . getByText ( "Login" , { exact :true } ) . click ( ) ;
113115// Logins should be visible