11import { expect , test } from "@playwright/test" ;
2+ import { users } from "../../constants" ;
23import {
34StarterTemplates ,
45createTemplate ,
@@ -26,27 +27,20 @@ test.describe.configure({ mode: "parallel" });
2627
2728test . beforeEach ( async ( { page} ) => {
2829beforeCoderTest ( page ) ;
29- await login ( page ) ;
3030} ) ;
3131
3232test ( "create workspace" , async ( { page} ) => {
33+ await login ( page , users . templateAdmin ) ;
3334const 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" } ] } } ] ,
4536} ) ;
37+
38+ await login ( page , users . member ) ;
4639await createWorkspace ( page , template ) ;
4740} ) ;
4841
4942test ( "create workspace with default immutable parameters" , async ( { page} ) => {
43+ await login ( page , users . templateAdmin ) ;
5044const richParameters :RichParameter [ ] = [
5145secondParameter ,
5246fourthParameter ,
@@ -56,6 +50,8 @@ test("create workspace with default immutable parameters", async ({ page }) => {
5650page ,
5751echoResponsesWithParameters ( richParameters ) ,
5852) ;
53+
54+ await login ( page , users . member ) ;
5955const workspaceName = await createWorkspace ( page , template ) ;
6056await verifyParameters ( page , workspaceName , richParameters , [
6157{ name :secondParameter . name , value :secondParameter . defaultValue } ,
@@ -65,11 +61,14 @@ test("create workspace with default immutable parameters", async ({ page }) => {
6561} ) ;
6662
6763test ( "create workspace with default mutable parameters" , async ( { page} ) => {
64+ await login ( page , users . templateAdmin ) ;
6865const richParameters :RichParameter [ ] = [ firstParameter , thirdParameter ] ;
6966const template = await createTemplate (
7067page ,
7168echoResponsesWithParameters ( richParameters ) ,
7269) ;
70+
71+ await login ( page , users . member ) ;
7372const workspaceName = await createWorkspace ( page , template ) ;
7473await verifyParameters ( page , workspaceName , richParameters , [
7574{ name :firstParameter . name , value :firstParameter . defaultValue } ,
@@ -80,6 +79,7 @@ test("create workspace with default mutable parameters", async ({ page }) => {
8079test ( "create workspace with default and required parameters" , async ( {
8180page,
8281} ) => {
82+ await login ( page , users . templateAdmin ) ;
8383const richParameters :RichParameter [ ] = [
8484secondParameter ,
8585fourthParameter ,
@@ -94,6 +94,8 @@ test("create workspace with default and required parameters", async ({
9494page ,
9595echoResponsesWithParameters ( richParameters ) ,
9696) ;
97+
98+ await login ( page , users . member ) ;
9799const workspaceName = await createWorkspace ( page , template , {
98100richParameters,
99101buildParameters,
@@ -108,6 +110,7 @@ test("create workspace with default and required parameters", async ({
108110} ) ;
109111
110112test ( "create workspace and overwrite default parameters" , async ( { page} ) => {
113+ await login ( page , users . templateAdmin ) ;
111114// We use randParamName to prevent the new values from corrupting user_history
112115// and thus affecting other tests.
113116const richParameters :RichParameter [ ] = [
@@ -124,6 +127,7 @@ test("create workspace and overwrite default parameters", async ({ page }) => {
124127echoResponsesWithParameters ( richParameters ) ,
125128) ;
126129
130+ await login ( page , users . member ) ;
127131const workspaceName = await createWorkspace ( page , template , {
128132richParameters,
129133buildParameters,
@@ -132,6 +136,7 @@ test("create workspace and overwrite default parameters", async ({ page }) => {
132136} ) ;
133137
134138test ( "create workspace with disable_param search params" , async ( { page} ) => {
139+ await login ( page , users . templateAdmin ) ;
135140const richParameters :RichParameter [ ] = [
136141firstParameter , // mutable
137142secondParameter , //immutable
@@ -142,6 +147,7 @@ test("create workspace with disable_param search params", async ({ page }) => {
142147echoResponsesWithParameters ( richParameters ) ,
143148) ;
144149
150+ await login ( page , users . member ) ;
145151await page . goto (
146152`/templates/${ templateName } /workspace?disable_params=first_parameter,second_parameter` ,
147153{
@@ -157,8 +163,11 @@ test("create workspace with disable_param search params", async ({ page }) => {
157163// the tests are over.
158164test . skip ( "create docker workspace" , async ( { context, page} ) => {
159165requireTerraformProvisioner ( ) ;
166+
167+ await login ( page , users . templateAdmin ) ;
160168const template = await createTemplate ( page , StarterTemplates . STARTER_DOCKER ) ;
161169
170+ await login ( page , users . member ) ;
162171const workspaceName = await createWorkspace ( page , template ) ;
163172
164173// 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 }) => {
184193) ;
185194await terminal . waitForSelector (
186195`//textarea[contains(@class,"xterm-helper-textarea")]` ,
187- {
188- state :"visible" ,
189- } ,
196+ { state :"visible" } ,
190197) ;
191198} ) ;