@@ -2,7 +2,7 @@ import { expect, Page } from '@playwright/test'
22import { env } from '../env.config'
33import { test } from '../utils/test'
44import { toUrl } from '../utils/to-url'
5- import { waitForApiResponse } from '../utils/wait-for-response'
5+ import { waitForApiResponse , waitForDatabaseToLoad } from '../utils/wait-for-response'
66
77const databaseTableName = 'pw_database_table'
88const databaseTableNameNew = 'pw_database_table_new'
@@ -89,12 +89,7 @@ test.describe('Database', () => {
8989 await page . goto ( toUrl ( `/project/${ env . PROJECT_REF } /database/schemas?schema=public` ) )
9090
9191 // Wait for schema visualizer to load
92- await waitForApiResponse (
93- page ,
94- 'pg-meta' ,
95- ref ,
96- 'tables?include_columns=true&included_schemas=public'
97- )
92+ await waitForDatabaseToLoad ( page , ref )
9893
9994 // validates table and column exists
10095 await page . waitForTimeout ( 500 )
@@ -122,12 +117,7 @@ test.describe('Database', () => {
122117 // changing schema -> auth
123118 await page . getByTestId ( 'schema-selector' ) . click ( )
124119 await page . getByRole ( 'option' , { name : 'auth' } ) . click ( )
125- await waitForApiResponse (
126- page ,
127- 'pg-meta' ,
128- ref ,
129- 'tables?include_columns=true&included_schemas=auth'
130- )
120+ await waitForDatabaseToLoad ( page , ref , 'auth' )
131121 await expect ( page . getByText ( 'users' ) ) . toBeVisible ( )
132122 await expect ( page . getByText ( 'sso_providers' ) ) . toBeVisible ( )
133123 await expect ( page . getByText ( 'saml_providers' ) ) . toBeVisible ( )
@@ -145,12 +135,7 @@ test.describe('Database', () => {
145135 await page . goto ( toUrl ( `/project/${ env . PROJECT_REF } /database/tables?schema=public` ) )
146136
147137 // Wait for database tables to be populated
148- await waitForApiResponse (
149- page ,
150- 'pg-meta' ,
151- ref ,
152- 'tables?include_columns=true&included_schemas=public'
153- )
138+ await waitForDatabaseToLoad ( page , ref )
154139
155140 // check new table button is present in public schema
156141 await expect ( page . getByRole ( 'button' , { name : 'New table' } ) ) . toBeVisible ( )
@@ -166,12 +151,7 @@ test.describe('Database', () => {
166151 await page . getByTestId ( 'schema-selector' ) . click ( )
167152 await page . getByPlaceholder ( 'Find schema...' ) . fill ( 'auth' )
168153 await page . getByRole ( 'option' , { name : 'auth' } ) . click ( )
169- await waitForApiResponse (
170- page ,
171- 'pg-meta' ,
172- ref ,
173- 'tables?include_columns=true&included_schemas=auth'
174- )
154+ await waitForDatabaseToLoad ( page , ref , 'auth' )
175155 await expect ( page . getByText ( 'sso_providers' ) ) . toBeVisible ( )
176156 // check new table button is not present in other schemas
177157 await expect ( page . getByRole ( 'button' , { name : 'New table' } ) ) . not . toBeVisible ( )
@@ -187,12 +167,7 @@ test.describe('Database', () => {
187167 await page . goto ( toUrl ( `/project/${ env . PROJECT_REF } /database/tables?schema=public` ) )
188168
189169 // Wait for database tables to be populated
190- await waitForApiResponse (
191- page ,
192- 'pg-meta' ,
193- ref ,
194- 'tables?include_columns=true&included_schemas=public'
195- )
170+ await waitForDatabaseToLoad ( page , ref )
196171
197172 // drop database tables if exists
198173 if ( ( await page . getByText ( databaseTableNameNew , { exact : true } ) . count ( ) ) > 0 ) {
@@ -229,12 +204,7 @@ test.describe('Database', () => {
229204
230205 // validate table creation
231206 await waitForApiResponse ( page , 'pg-meta' , ref , 'query?key=table-create' )
232- await waitForApiResponse (
233- page ,
234- 'pg-meta' ,
235- ref ,
236- 'tables?include_columns=true&included_schemas=public'
237- )
207+ await waitForDatabaseToLoad ( page , ref )
238208 await expect ( page . getByText ( databaseTableNameNew , { exact : true } ) ) . toBeVisible ( )
239209
240210 // edit a new table
@@ -245,12 +215,7 @@ test.describe('Database', () => {
245215
246216 // validate table update
247217 await waitForApiResponse ( page , 'pg-meta' , ref , 'query?key=table-update' )
248- await waitForApiResponse (
249- page ,
250- 'pg-meta' ,
251- ref ,
252- 'tables?include_columns=true&included_schemas=public'
253- )
218+ await waitForDatabaseToLoad ( page , ref )
254219 await expect ( page . getByText ( databaseTableNameUpdated , { exact : true } ) ) . toBeVisible ( )
255220
256221 // duplicate table
@@ -262,12 +227,7 @@ test.describe('Database', () => {
262227
263228 // validate table duplicate
264229 await waitForApiResponse ( page , 'pg-meta' , ref , 'query?key=' )
265- await waitForApiResponse (
266- page ,
267- 'pg-meta' ,
268- ref ,
269- 'tables?include_columns=true&included_schemas=public'
270- )
230+ await waitForDatabaseToLoad ( page , ref )
271231 await expect ( page . getByText ( databaseTableNameDuplicate , { exact : true } ) ) . toBeVisible ( )
272232
273233 // delete tables
@@ -302,12 +262,7 @@ test.describe('Database', () => {
302262 await page . goto ( toUrl ( `/project/${ env . PROJECT_REF } /database/tables?schema=public` ) )
303263
304264 // Wait for database tables to be populated
305- await waitForApiResponse (
306- page ,
307- 'pg-meta' ,
308- ref ,
309- 'tables?include_columns=true&included_schemas=public'
310- )
265+ await waitForDatabaseToLoad ( page , ref )
311266
312267 // navigate to table columns
313268 const databaseRow = page . getByRole ( 'row' , { name : databaseTableName } )
0 commit comments