initialize database inside of coverage

deepsource-autofix-76c6eb20
Dan Gowans 2023-01-30 14:46:27 -05:00
parent b45567450f
commit 148dc629ae
10 changed files with 34 additions and 17 deletions

View File

@ -32,9 +32,6 @@ jobs:
- name: Copy Test Config
run: cp ./data/config.testing.js ./data/config.js
- name: Initialize Database
run: npm run init:cemetery:test
- name: Code Climate (Before)
if: ${{ github.event_name != 'pull_request' && env.CC_TEST_REPORTER_ID != '' && matrix.node == 16 }}
run: |

View File

@ -1 +1 @@
export {};
export declare function initializeCemeteryDatabase(): Promise<boolean>;

View File

@ -2,8 +2,8 @@ import { lotOccupancyDB as databasePath } from '../data/databasePaths.js';
import { initializeDatabase } from './initializer.database.js';
import { addOccupancyTypeField } from './lotOccupancyDB/addOccupancyTypeField.js';
import { addLotOccupantType } from './lotOccupancyDB/addLotOccupantType.js';
import Debug from 'debug';
import { addRecord } from './lotOccupancyDB/addRecord.js';
import Debug from 'debug';
const debug = Debug('lot-occupancy-system:initialize');
const session = {
user: {
@ -15,13 +15,13 @@ const session = {
}
}
};
async function initializeCemeteryDatabase() {
export async function initializeCemeteryDatabase() {
debug('Checking for ' + databasePath + '...');
const databaseInitialized = initializeDatabase();
if (!databaseInitialized) {
debug('Database already created.\n' +
'To initialize this database with cemetery types, delete the database file first, then rerun this script.');
return;
return false;
}
debug('New database file created. Proceeding with initialization.');
await addRecord('LotTypes', 'Casket Grave', 1, session);
@ -167,5 +167,5 @@ async function initializeCemeteryDatabase() {
await addRecord('WorkOrderMilestoneTypes', 'Arrival', 2, session);
await addRecord('WorkOrderMilestoneTypes', 'Cremation', 3, session);
await addRecord('WorkOrderMilestoneTypes', 'Interment', 4, session);
return true;
}
await initializeCemeteryDatabase();

View File

@ -6,10 +6,11 @@ import { addOccupancyTypeField } from './lotOccupancyDB/addOccupancyTypeField.js
import { addLotOccupantType } from './lotOccupancyDB/addLotOccupantType.js'
import { addRecord } from './lotOccupancyDB/addRecord.js'
import type { PartialSession } from '../types/recordTypes.js'
import Debug from 'debug'
import { addRecord } from './lotOccupancyDB/addRecord.js'
const debug = Debug('lot-occupancy-system:initialize')
const session: PartialSession = {
@ -23,7 +24,7 @@ const session: PartialSession = {
}
}
async function initializeCemeteryDatabase(): Promise<void> {
export async function initializeCemeteryDatabase(): Promise<boolean> {
/*
* Ensure database does not already exist
*/
@ -36,7 +37,7 @@ async function initializeCemeteryDatabase(): Promise<void> {
'Database already created.\n' +
'To initialize this database with cemetery types, delete the database file first, then rerun this script.'
)
return
return false
}
debug('New database file created. Proceeding with initialization.')
@ -295,6 +296,6 @@ async function initializeCemeteryDatabase(): Promise<void> {
await addRecord('WorkOrderMilestoneTypes', 'Arrival', 2, session)
await addRecord('WorkOrderMilestoneTypes', 'Cremation', 3, session)
await addRecord('WorkOrderMilestoneTypes', 'Interment', 4, session)
}
await initializeCemeteryDatabase()
return true
}

View File

@ -9,8 +9,6 @@
},
"scripts": {
"build:version": "npx genversion --es6 --semi version.js",
"init:cemetery": "cross-env NODE_ENV=dev DEBUG=lot-occupancy-system:* node ./helpers/initializer.database.cemetery.js",
"init:cemetery:test": "cross-env NODE_ENV=dev DEBUG=lot-occupancy-system:* TEST_DATABASES=true node ./helpers/initializer.database.cemetery.js",
"start": "cross-env NODE_ENV=production node ./bin/www",
"dev:test": "cross-env NODE_ENV=dev DEBUG=lot-occupancy-system:* TEST_DATABASES=true nodemon ./bin/www.js",
"dev:live": "cross-env NODE_ENV=dev DEBUG=lot-occupancy-system:* nodemon ./bin/www.js",

1
test/0_initializeDatabase.d.ts vendored 100644
View File

@ -0,0 +1 @@
export {};

View File

@ -0,0 +1,8 @@
import * as assert from 'node:assert';
import { initializeCemeteryDatabase } from '../helpers/initializer.database.cemetery.js';
describe('Initialize Database', () => {
it('initializes a cemetery database', async () => {
const success = await initializeCemeteryDatabase();
assert.ok(success);
});
});

View File

@ -0,0 +1,12 @@
/* eslint-disable unicorn/filename-case */
import * as assert from 'node:assert'
import { initializeCemeteryDatabase } from '../helpers/initializer.database.cemetery.js'
describe('Initialize Database', () => {
it('initializes a cemetery database', async () => {
const success = await initializeCemeteryDatabase()
assert.ok(success)
})
})

View File

@ -335,7 +335,7 @@ describe('functions.user', () => {
});
});
});
describe('plyfills', () => {
describe('polyfills', () => {
it('applys Object.hasOwn polyfill', () => {
delete Object.hasOwn;
assert.ok(Object.hasOwn === undefined);

View File

@ -516,7 +516,7 @@ describe('functions.user', () => {
})
})
describe('plyfills', () => {
describe('polyfills', () => {
it('applys Object.hasOwn polyfill', () => {
// eslint-disable-next-line @typescript-eslint/no-explicit-any
delete (Object as any).hasOwn