@@ -71,11 +71,13 @@ public function testShowsErrorWhenInvalidProjectNameProvided(): void
7171 $ this ->browse (function (Browser $ browser ): void {
7272 $ browser ->loginAs ($ this ->users ['admin ' ])
7373 ->visit ('/projects/new ' )
74- ->waitFor ('@create-project-page ' )
75- ->type ('@project-name-input ' , 'invalid project name % ' )
76- ->click ('@create-project-button ' )
77- ->waitFor ('@project-name-validation-errors ' )
78- ->assertSeeIn ('@project-name-validation-errors ' , 'Project name may only contain letters, numbers, dashes, and underscores. ' )
74+ ->whenAvailable ('@create-project-page ' , function (Browser $ browser ): void {
75+ $ browser ->waitFor ('@project-name-input ' )
76+ ->type ('@project-name-input ' , 'invalid project name % ' )
77+ ->click ('@create-project-button ' )
78+ ->waitFor ('@project-name-validation-errors ' )
79+ ->assertSeeIn ('@project-name-validation-errors ' , 'Project name may only contain letters, numbers, dashes, and underscores. ' );
80+ })
7981 ;
8082 });
8183 }
@@ -93,11 +95,13 @@ public function testShowsErrorWhenProjectAlreadyExists(): void
9395 $ this ->browse (function (Browser $ browser ) use ($ project_name ): void {
9496 $ browser ->loginAs ($ this ->users ['admin ' ])
9597 ->visit ('/projects/new ' )
96- ->waitFor ('@create-project-page ' )
97- ->type ('@project-name-input ' , $ project_name )
98- ->click ('@create-project-button ' )
99- ->waitFor ('@project-name-validation-errors ' )
100- ->assertSeeIn ('@project-name-validation-errors ' , 'A project with this name already exists. ' )
98+ ->whenAvailable ('@create-project-page ' , function (Browser $ browser ) use ($ project_name ): void {
99+ $ browser ->waitFor ('@project-name-input ' )
100+ ->type ('@project-name-input ' , $ project_name )
101+ ->click ('@create-project-button ' )
102+ ->waitFor ('@project-name-validation-errors ' )
103+ ->assertSeeIn ('@project-name-validation-errors ' , 'A project with this name already exists. ' );
104+ })
101105 ;
102106 });
103107 }
@@ -112,10 +116,12 @@ public function testCreateProjectSetDescription(): void
112116 $ this ->browse (function (Browser $ browser ) use ($ description , $ name ): void {
113117 $ browser ->loginAs ($ this ->users ['admin ' ])
114118 ->visit ('/projects/new ' )
115- ->waitFor ('@create-project-page ' )
116- ->type ('@project-name-input ' , $ name )
117- ->type ('@project-description-input ' , $ description )
118- ->click ('@create-project-button ' )
119+ ->whenAvailable ('@create-project-page ' , function (Browser $ browser ) use ($ description , $ name ): void {
120+ $ browser ->waitFor ('@project-name-input ' )
121+ ->type ('@project-name-input ' , $ name )
122+ ->type ('@project-description-input ' , $ description )
123+ ->click ('@create-project-button ' );
124+ })
119125 ->waitForReload ()
120126 ;
121127 });
@@ -135,10 +141,12 @@ public function testCreateProjectSetAuthenticatedSubmissions(): void
135141 $ this ->browse (function (Browser $ browser ) use ($ name ): void {
136142 $ browser ->loginAs ($ this ->users ['admin ' ])
137143 ->visit ('/projects/new ' )
138- ->waitFor ('@create-project-page ' )
139- ->type ('@project-name-input ' , $ name )
140- ->click ('@project-authenticated-submissions-input ' )
141- ->click ('@create-project-button ' )
144+ ->whenAvailable ('@create-project-page ' , function (Browser $ browser ) use ($ name ): void {
145+ $ browser ->waitFor ('@project-name-input ' )
146+ ->type ('@project-name-input ' , $ name )
147+ ->click ('@project-authenticated-submissions-input ' )
148+ ->click ('@create-project-button ' );
149+ })
142150 ->waitForReload ()
143151 ;
144152 });
@@ -171,10 +179,12 @@ public function testCreateProjectSetVisibility(string $fieldname, int $role): vo
171179 $ this ->browse (function (Browser $ browser ) use ($ fieldname , $ name ): void {
172180 $ browser ->loginAs ($ this ->users ['admin ' ])
173181 ->visit ('/projects/new ' )
174- ->waitFor ('@create-project-page ' )
175- ->type ('@project-name-input ' , $ name )
176- ->click ('@project-visibility- ' . $ fieldname )
177- ->click ('@create-project-button ' )
182+ ->whenAvailable ('@create-project-page ' , function (Browser $ browser ) use ($ fieldname , $ name ): void {
183+ $ browser ->waitFor ('@project-name-input ' )
184+ ->type ('@project-name-input ' , $ name )
185+ ->click ('@project-visibility- ' . $ fieldname )
186+ ->click ('@create-project-button ' );
187+ })
178188 ->waitForReload ()
179189 ;
180190 });
0 commit comments