1
1
import path from "node:path" ;
2
- import { type Locator , expect , test } from "@playwright/test" ;
3
- import {
4
- currentUser ,
5
- importTemplate ,
6
- login ,
7
- randomName ,
8
- requiresLicense ,
9
- } from "../../helpers" ;
10
- import { beforeCoderTest } from "../../hooks" ;
2
+ import { expect , type Locator , test } from "@playwright/test" ;
3
+ import { currentUser , importTemplate , login , randomName , requiresLicense , } from "../../helpers" ;
4
+ import { beforeCoderTest } from "../../hooks" ;
5
+ import { users } from "../../constants" ;
11
6
12
7
test . beforeEach ( async ( { page } ) => {
13
8
beforeCoderTest ( page ) ;
@@ -23,6 +18,8 @@ const templateFiles = [
23
18
24
19
const expectedPrebuilds = 2 ;
25
20
21
+ // TODO: update provider version in *.tf
22
+
26
23
// NOTE: requires the `workspace-prebuilds` experiment enabled!
27
24
test ( "create template with desired prebuilds" , async ( { page, baseURL } ) => {
28
25
requiresLicense ( ) ;
@@ -83,6 +80,9 @@ test("claim prebuild matching selected preset", async ({ page, baseURL }) => {
83
80
// Wait for the prebuild to become ready so it's eligible to be claimed.
84
81
await page . getByTestId ( "agent-status-ready" ) . waitFor ( { timeout : 60_000 } ) ;
85
82
83
+ // Logout as admin, and login as an unprivileged user.
84
+ await login ( page , users . member ) ;
85
+
86
86
// Create a new workspace using the same preset as one of the prebuilds.
87
87
await page . goto ( `/templates/coder/${ templateName } /workspace` , {
88
88
waitUntil : "domcontentloaded" ,
@@ -117,6 +117,9 @@ test("claim prebuild matching selected preset", async ({ page, baseURL }) => {
117
117
const text = indicator . locator ( "xpath=.." ) . getByText ( "Yes" ) ;
118
118
await text . waitFor ( { timeout : 30_000 } ) ;
119
119
120
+ // Logout as unprivileged user, and login as admin.
121
+ await login ( page , users . admin ) ;
122
+
120
123
// Navigate back to prebuilds page to see that a new prebuild replaced the claimed one.
121
124
await page . goto (
122
125
`/workspaces?filter=owner:prebuilds%20template:${ templateName } &page=1` ,
0 commit comments