diff --git a/.badges/file-count.svg b/.badges/file-count.svg index b5e74ca..91b596c 100644 --- a/.badges/file-count.svg +++ b/.badges/file-count.svg @@ -1,6 +1,6 @@ - - Files: 57 + + Files: 54 @@ -10,8 +10,8 @@ Files - - 57 + + 54 \ No newline at end of file diff --git a/.badges/lines-of-code.svg b/.badges/lines-of-code.svg index 8adf591..182ee56 100644 --- a/.badges/lines-of-code.svg +++ b/.badges/lines-of-code.svg @@ -1,6 +1,6 @@ - - Lines of Code: 4.4K + + Lines of Code: 3.7K @@ -10,8 +10,8 @@ Lines of Code - - 4.4K + + 3.7K \ No newline at end of file diff --git a/server/Database.js b/server/Database.js index 967c814..fe7be2c 100644 --- a/server/Database.js +++ b/server/Database.js @@ -6,7 +6,7 @@ const sqlite3 = require('sqlite3').verbose(); // ============================ INIT SQLite DATABASE ============================ /** @type { import('sqlite3').Database } */ let db; -async function reinitializeIfNotExists(dbFile=':memory:', schemaFile='databaseSchema.sql') { +async function reinitializeIfNotExists(dbFile=':memory:', schemaFile='./server/databaseSchema.sql') { const exists = dbFile != ':memory:' && fs.existsSync(dbFile); if (exists) console.log("Database file found: " + dbFile); if (db) await new Promise((resolve, reject) => { diff --git a/server/server.js b/server/server.js index 784d3dd..cc12280 100644 --- a/server/server.js +++ b/server/server.js @@ -21,8 +21,8 @@ app.use(cors(corsOptions)) app.use(express.static("public")); // ============================ DATABASE ============================ -const schemaFile = "./databaseSchema.sql"; // filepath for the database schema -require('./Database').reinitializeIfNotExists(process.env.DB_FILE, schemaFile); +const schemaFile = "./server/databaseSchema.sql"; // filepath for the database schema +module.exports.initPromise = require('./Database').reinitializeIfNotExists(process.env.DB_FILE, schemaFile); // ============================ AUTHENTICATION ============================ const { authRouter } = require('./Auth'); diff --git a/test/client.test.js b/test/client.test.js index cfaa7e6..d4251a0 100644 --- a/test/client.test.js +++ b/test/client.test.js @@ -44,7 +44,8 @@ describe('Client', () => { before(async () => { // spin up the server process.env.DEVELOPMENT = supportsGoogleSignIn() ? 'false' : 'true'; - ({ listener } = require('../server/server.js')); + ({ listener, initPromise } = require('../server/server.js')); + await initPromise; port = listener.address().port; // spin up the browser diff --git a/test/server.test.js b/test/server.test.js index e157c03..ff237ee 100644 --- a/test/server.test.js +++ b/test/server.test.js @@ -65,7 +65,7 @@ describe('Server', () => { describe('Database', () => { beforeEach(async () => { - await reinitializeIfNotExists(TEST_DB_FILE, './databaseSchema.sql'); + await reinitializeIfNotExists(TEST_DB_FILE, './server/databaseSchema.sql'); }); it('Should not return a value when asyncRun called', async () => { @@ -108,7 +108,7 @@ describe('Server', () => { describe('Authentication', () => { beforeEach(async () => { - await reinitializeIfNotExists(TEST_DB_FILE, './databaseSchema.sql'); + await reinitializeIfNotExists(TEST_DB_FILE, './server/databaseSchema.sql'); }); it('Should return 400 Invalid Input when no token is provided', (t, done) => { @@ -195,7 +195,7 @@ describe('Server', () => { describe('Business', () => { beforeEach(async () => { - await reinitializeIfNotExists(TEST_DB_FILE, './databaseSchema.sql'); + await reinitializeIfNotExists(TEST_DB_FILE, './server/databaseSchema.sql'); }); it('Should create a business with the correct values when createBusiness called', async (t) => {