1
1
import { expect , test } from "@playwright/test" ;
2
+ import { users } from "../../constants" ;
2
3
import {
3
4
StarterTemplates ,
4
5
createTemplate ,
@@ -26,27 +27,20 @@ test.describe.configure({ mode: "parallel" });
26
27
27
28
test . beforeEach ( async ( { page } ) => {
28
29
beforeCoderTest ( page ) ;
29
- await login ( page ) ;
30
30
} ) ;
31
31
32
32
test ( "create workspace" , async ( { page } ) => {
33
+ await login ( page , users . templateAdmin ) ;
33
34
const template = await createTemplate ( page , {
34
- apply : [
35
- {
36
- apply : {
37
- resources : [
38
- {
39
- name : "example" ,
40
- } ,
41
- ] ,
42
- } ,
43
- } ,
44
- ] ,
35
+ apply : [ { apply : { resources : [ { name : "example" } ] } } ] ,
45
36
} ) ;
37
+
38
+ await login ( page , users . member ) ;
46
39
await createWorkspace ( page , template ) ;
47
40
} ) ;
48
41
49
42
test ( "create workspace with default immutable parameters" , async ( { page } ) => {
43
+ await login ( page , users . templateAdmin ) ;
50
44
const richParameters : RichParameter [ ] = [
51
45
secondParameter ,
52
46
fourthParameter ,
@@ -56,6 +50,8 @@ test("create workspace with default immutable parameters", async ({ page }) => {
56
50
page ,
57
51
echoResponsesWithParameters ( richParameters ) ,
58
52
) ;
53
+
54
+ await login ( page , users . member ) ;
59
55
const workspaceName = await createWorkspace ( page , template ) ;
60
56
await verifyParameters ( page , workspaceName , richParameters , [
61
57
{ name : secondParameter . name , value : secondParameter . defaultValue } ,
@@ -65,11 +61,14 @@ test("create workspace with default immutable parameters", async ({ page }) => {
65
61
} ) ;
66
62
67
63
test ( "create workspace with default mutable parameters" , async ( { page } ) => {
64
+ await login ( page , users . templateAdmin ) ;
68
65
const richParameters : RichParameter [ ] = [ firstParameter , thirdParameter ] ;
69
66
const template = await createTemplate (
70
67
page ,
71
68
echoResponsesWithParameters ( richParameters ) ,
72
69
) ;
70
+
71
+ await login ( page , users . member ) ;
73
72
const workspaceName = await createWorkspace ( page , template ) ;
74
73
await verifyParameters ( page , workspaceName , richParameters , [
75
74
{ name : firstParameter . name , value : firstParameter . defaultValue } ,
@@ -80,6 +79,7 @@ test("create workspace with default mutable parameters", async ({ page }) => {
80
79
test ( "create workspace with default and required parameters" , async ( {
81
80
page,
82
81
} ) => {
82
+ await login ( page , users . templateAdmin ) ;
83
83
const richParameters : RichParameter [ ] = [
84
84
secondParameter ,
85
85
fourthParameter ,
@@ -94,6 +94,8 @@ test("create workspace with default and required parameters", async ({
94
94
page ,
95
95
echoResponsesWithParameters ( richParameters ) ,
96
96
) ;
97
+
98
+ await login ( page , users . member ) ;
97
99
const workspaceName = await createWorkspace ( page , template , {
98
100
richParameters,
99
101
buildParameters,
@@ -108,6 +110,7 @@ test("create workspace with default and required parameters", async ({
108
110
} ) ;
109
111
110
112
test ( "create workspace and overwrite default parameters" , async ( { page } ) => {
113
+ await login ( page , users . templateAdmin ) ;
111
114
// We use randParamName to prevent the new values from corrupting user_history
112
115
// and thus affecting other tests.
113
116
const richParameters : RichParameter [ ] = [
@@ -124,6 +127,7 @@ test("create workspace and overwrite default parameters", async ({ page }) => {
124
127
echoResponsesWithParameters ( richParameters ) ,
125
128
) ;
126
129
130
+ await login ( page , users . member ) ;
127
131
const workspaceName = await createWorkspace ( page , template , {
128
132
richParameters,
129
133
buildParameters,
@@ -132,6 +136,7 @@ test("create workspace and overwrite default parameters", async ({ page }) => {
132
136
} ) ;
133
137
134
138
test ( "create workspace with disable_param search params" , async ( { page } ) => {
139
+ await login ( page , users . templateAdmin ) ;
135
140
const richParameters : RichParameter [ ] = [
136
141
firstParameter , // mutable
137
142
secondParameter , //immutable
@@ -142,6 +147,7 @@ test("create workspace with disable_param search params", async ({ page }) => {
142
147
echoResponsesWithParameters ( richParameters ) ,
143
148
) ;
144
149
150
+ await login ( page , users . member ) ;
145
151
await page . goto (
146
152
`/templates/${ templateName } /workspace?disable_params=first_parameter,second_parameter` ,
147
153
{
@@ -157,8 +163,11 @@ test("create workspace with disable_param search params", async ({ page }) => {
157
163
// the tests are over.
158
164
test . skip ( "create docker workspace" , async ( { context, page } ) => {
159
165
requireTerraformProvisioner ( ) ;
166
+
167
+ await login ( page , users . templateAdmin ) ;
160
168
const template = await createTemplate ( page , StarterTemplates . STARTER_DOCKER ) ;
161
169
170
+ await login ( page , users . member ) ;
162
171
const workspaceName = await createWorkspace ( page , template ) ;
163
172
164
173
// The workspace agents must be ready before we try to interact with the workspace.
@@ -184,8 +193,6 @@ test.skip("create docker workspace", async ({ context, page }) => {
184
193
) ;
185
194
await terminal . waitForSelector (
186
195
`//textarea[contains(@class,"xterm-helper-textarea")]` ,
187
- {
188
- state : "visible" ,
189
- } ,
196
+ { state : "visible" } ,
190
197
) ;
191
198
} ) ;
0 commit comments