From d670884a72c34eaafe9e60c5d17b93507ffa8862 Mon Sep 17 00:00:00 2001
From: Jure Triglav <juretriglav@gmail.com>
Date: Mon, 27 Jul 2020 01:55:59 +0200
Subject: [PATCH] test: different db-readiness approach

---
 scripts/clearAndSeed.js | 20 +++++++++-----------
 1 file changed, 9 insertions(+), 11 deletions(-)

diff --git a/scripts/clearAndSeed.js b/scripts/clearAndSeed.js
index bca6157e8c..127fb4d78c 100644
--- a/scripts/clearAndSeed.js
+++ b/scripts/clearAndSeed.js
@@ -1,7 +1,6 @@
 const logger = require('@pubsweet/logger')
 // const { Journal, User } = require('@pubsweet/models')
 const { createTables, db } = require('@pubsweet/db-manager')
-const wait = require('waait')
 
 const clearDb = async () => {
   const { rows } = await db.raw(`
@@ -43,17 +42,16 @@ const seed = async dumpSql => {
   // TODO: This wait is necessary for the database to "settle".
   while (!ready) {
     // eslint-disable-next-line
-    const { rows } = await db.raw(`SELECT EXISTS (
-      SELECT FROM information_schema.tables
-      WHERE  table_schema = 'public'
-      AND    table_name   = 'users'
-    );`)
-    if (rows && rows[0] && rows[0].exists) {
-      ready = true
+    const result = await db.raw(`set search_path to 'public';`)
+    const { User } = require('@pubsweet/models')
+    try {
+      // eslint-disable-next-line
+      const users = await User.query()
+      ready = !!users
+    } catch (e) {
+      // eslint-disable-next-line
+      console.log(e)
     }
-
-    // eslint-disable-next-line
-    await wait(1000)
   }
   return true
 }
-- 
GitLab