@@ -13,62 +13,63 @@ test.describe.configure({ mode: "parallel" });
13
13
14
14
test . beforeEach ( async ( { page } ) => {
15
15
beforeCoderTest ( page ) ;
16
- await login ( page , users . auditor ) ;
17
16
} ) ;
18
17
19
- async function resetSearch ( page : Page ) {
18
+ async function resetSearch ( page : Page , username : string ) {
20
19
const clearButton = page . getByLabel ( "Clear search" ) ;
21
20
if ( await clearButton . isVisible ( ) ) {
22
21
await clearButton . click ( ) ;
23
22
}
24
23
25
24
// Filter by the auditor test user to prevent race conditions
26
- const user = currentUser ( page ) ;
27
25
await expect ( page . getByText ( "All users" ) ) . toBeVisible ( ) ;
28
- await page . getByPlaceholder ( "Search..." ) . fill ( `username:${ user . username } ` ) ;
26
+ await page . getByPlaceholder ( "Search..." ) . fill ( `username:${ username } ` ) ;
29
27
await expect ( page . getByText ( "All users" ) ) . not . toBeVisible ( ) ;
30
28
}
31
29
32
30
test ( "logins are logged" , async ( { page } ) => {
33
31
requiresLicense ( ) ;
34
32
35
33
// Go to the audit history
34
+ await login ( page , users . auditor ) ;
36
35
await page . goto ( "/audit" ) ;
36
+ const username = users . auditor . username ;
37
37
38
38
const user = currentUser ( page ) ;
39
- const loginMessage = `${ user . username } logged in` ;
39
+ const loginMessage = `${ username } logged in` ;
40
40
// Make sure those things we did all actually show up
41
- await resetSearch ( page ) ;
41
+ await resetSearch ( page , username ) ;
42
42
await expect ( page . getByText ( loginMessage ) . first ( ) ) . toBeVisible ( ) ;
43
43
} ) ;
44
44
45
45
test ( "creating templates and workspaces is logged" , async ( { page } ) => {
46
46
requiresLicense ( ) ;
47
47
48
48
// Do some stuff that should show up in the audit logs
49
+ await login ( page , users . templateAdmin ) ;
50
+ const username = users . templateAdmin . username ;
49
51
const templateName = await createTemplate ( page ) ;
50
52
const workspaceName = await createWorkspace ( page , templateName ) ;
51
53
52
54
// Go to the audit history
55
+ await login ( page , users . auditor ) ;
53
56
await page . goto ( "/audit" ) ;
54
57
55
- const user = currentUser ( page ) ;
56
-
57
58
// Make sure those things we did all actually show up
58
- await resetSearch ( page ) ;
59
+ await resetSearch ( page , username ) ;
59
60
await expect (
60
- page . getByText ( `${ user . username } created template ${ templateName } ` ) ,
61
+ page . getByText ( `${ username } created template ${ templateName } ` ) ,
61
62
) . toBeVisible ( ) ;
62
63
await expect (
63
- page . getByText ( `${ user . username } created workspace ${ workspaceName } ` ) ,
64
+ page . getByText ( `${ username } created workspace ${ workspaceName } ` ) ,
64
65
) . toBeVisible ( ) ;
65
66
await expect (
66
- page . getByText ( `${ user . username } started workspace ${ workspaceName } ` ) ,
67
+ page . getByText ( `${ username } started workspace ${ workspaceName } ` ) ,
67
68
) . toBeVisible ( ) ;
68
69
69
70
// Make sure we can inspect the details of the log item
70
71
const createdWorkspace = page . locator ( ".MuiTableRow-root" , {
71
- hasText : `${ user . username } created workspace ${ workspaceName } ` ,
72
+ hasText : `${ username } created workspace ${ workspaceName } ` ,
72
73
} ) ;
73
74
await createdWorkspace . getByLabel ( "open-dropdown" ) . click ( ) ;
74
75
await expect (
@@ -83,18 +84,19 @@ test("inspecting and filtering audit logs", async ({ page }) => {
83
84
requiresLicense ( ) ;
84
85
85
86
// Do some stuff that should show up in the audit logs
87
+ await login ( page , users . templateAdmin ) ;
88
+ const username = users . templateAdmin . username ;
86
89
const templateName = await createTemplate ( page ) ;
87
90
const workspaceName = await createWorkspace ( page , templateName ) ;
88
91
89
92
// Go to the audit history
93
+ await login ( page , users . auditor ) ;
90
94
await 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 } ` ;
95
97
96
98
// Filter by resource type
97
- await resetSearch ( page ) ;
99
+ await resetSearch ( page , username ) ;
98
100
await page . getByText ( "All resource types" ) . click ( ) ;
99
101
const workspaceBuildsOption = page . getByText ( "Workspace Build" ) ;
100
102
await workspaceBuildsOption . scrollIntoViewIfNeeded ( { timeout : 5000 } ) ;
@@ -107,7 +109,7 @@ test("inspecting and filtering audit logs", async ({ page }) => {
107
109
await expect ( page . getByText ( "All resource types" ) ) . toBeVisible ( ) ;
108
110
109
111
// Filter by action type
110
- await resetSearch ( page ) ;
112
+ await resetSearch ( page , username ) ;
111
113
await page . getByText ( "All actions" ) . click ( ) ;
112
114
await page . getByText ( "Login" , { exact : true } ) . click ( ) ;
113
115
// Logins should be visible
0 commit comments