initialize database inside of coverage
parent
b45567450f
commit
148dc629ae
|
|
@ -32,9 +32,6 @@ jobs:
|
||||||
- name: Copy Test Config
|
- name: Copy Test Config
|
||||||
run: cp ./data/config.testing.js ./data/config.js
|
run: cp ./data/config.testing.js ./data/config.js
|
||||||
|
|
||||||
- name: Initialize Database
|
|
||||||
run: npm run init:cemetery:test
|
|
||||||
|
|
||||||
- name: Code Climate (Before)
|
- name: Code Climate (Before)
|
||||||
if: ${{ github.event_name != 'pull_request' && env.CC_TEST_REPORTER_ID != '' && matrix.node == 16 }}
|
if: ${{ github.event_name != 'pull_request' && env.CC_TEST_REPORTER_ID != '' && matrix.node == 16 }}
|
||||||
run: |
|
run: |
|
||||||
|
|
|
||||||
|
|
@ -1 +1 @@
|
||||||
export {};
|
export declare function initializeCemeteryDatabase(): Promise<boolean>;
|
||||||
|
|
|
||||||
|
|
@ -2,8 +2,8 @@ import { lotOccupancyDB as databasePath } from '../data/databasePaths.js';
|
||||||
import { initializeDatabase } from './initializer.database.js';
|
import { initializeDatabase } from './initializer.database.js';
|
||||||
import { addOccupancyTypeField } from './lotOccupancyDB/addOccupancyTypeField.js';
|
import { addOccupancyTypeField } from './lotOccupancyDB/addOccupancyTypeField.js';
|
||||||
import { addLotOccupantType } from './lotOccupancyDB/addLotOccupantType.js';
|
import { addLotOccupantType } from './lotOccupancyDB/addLotOccupantType.js';
|
||||||
import Debug from 'debug';
|
|
||||||
import { addRecord } from './lotOccupancyDB/addRecord.js';
|
import { addRecord } from './lotOccupancyDB/addRecord.js';
|
||||||
|
import Debug from 'debug';
|
||||||
const debug = Debug('lot-occupancy-system:initialize');
|
const debug = Debug('lot-occupancy-system:initialize');
|
||||||
const session = {
|
const session = {
|
||||||
user: {
|
user: {
|
||||||
|
|
@ -15,13 +15,13 @@ const session = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
async function initializeCemeteryDatabase() {
|
export async function initializeCemeteryDatabase() {
|
||||||
debug('Checking for ' + databasePath + '...');
|
debug('Checking for ' + databasePath + '...');
|
||||||
const databaseInitialized = initializeDatabase();
|
const databaseInitialized = initializeDatabase();
|
||||||
if (!databaseInitialized) {
|
if (!databaseInitialized) {
|
||||||
debug('Database already created.\n' +
|
debug('Database already created.\n' +
|
||||||
'To initialize this database with cemetery types, delete the database file first, then rerun this script.');
|
'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.');
|
debug('New database file created. Proceeding with initialization.');
|
||||||
await addRecord('LotTypes', 'Casket Grave', 1, session);
|
await addRecord('LotTypes', 'Casket Grave', 1, session);
|
||||||
|
|
@ -167,5 +167,5 @@ async function initializeCemeteryDatabase() {
|
||||||
await addRecord('WorkOrderMilestoneTypes', 'Arrival', 2, session);
|
await addRecord('WorkOrderMilestoneTypes', 'Arrival', 2, session);
|
||||||
await addRecord('WorkOrderMilestoneTypes', 'Cremation', 3, session);
|
await addRecord('WorkOrderMilestoneTypes', 'Cremation', 3, session);
|
||||||
await addRecord('WorkOrderMilestoneTypes', 'Interment', 4, session);
|
await addRecord('WorkOrderMilestoneTypes', 'Interment', 4, session);
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
await initializeCemeteryDatabase();
|
|
||||||
|
|
|
||||||
|
|
@ -6,10 +6,11 @@ import { addOccupancyTypeField } from './lotOccupancyDB/addOccupancyTypeField.js
|
||||||
|
|
||||||
import { addLotOccupantType } from './lotOccupancyDB/addLotOccupantType.js'
|
import { addLotOccupantType } from './lotOccupancyDB/addLotOccupantType.js'
|
||||||
|
|
||||||
|
import { addRecord } from './lotOccupancyDB/addRecord.js'
|
||||||
|
|
||||||
import type { PartialSession } from '../types/recordTypes.js'
|
import type { PartialSession } from '../types/recordTypes.js'
|
||||||
|
|
||||||
import Debug from 'debug'
|
import Debug from 'debug'
|
||||||
import { addRecord } from './lotOccupancyDB/addRecord.js'
|
|
||||||
const debug = Debug('lot-occupancy-system:initialize')
|
const debug = Debug('lot-occupancy-system:initialize')
|
||||||
|
|
||||||
const session: PartialSession = {
|
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
|
* Ensure database does not already exist
|
||||||
*/
|
*/
|
||||||
|
|
@ -36,7 +37,7 @@ async function initializeCemeteryDatabase(): Promise<void> {
|
||||||
'Database already created.\n' +
|
'Database already created.\n' +
|
||||||
'To initialize this database with cemetery types, delete the database file first, then rerun this script.'
|
'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.')
|
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', 'Arrival', 2, session)
|
||||||
await addRecord('WorkOrderMilestoneTypes', 'Cremation', 3, session)
|
await addRecord('WorkOrderMilestoneTypes', 'Cremation', 3, session)
|
||||||
await addRecord('WorkOrderMilestoneTypes', 'Interment', 4, session)
|
await addRecord('WorkOrderMilestoneTypes', 'Interment', 4, session)
|
||||||
}
|
|
||||||
|
|
||||||
await initializeCemeteryDatabase()
|
return true
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,8 +9,6 @@
|
||||||
},
|
},
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"build:version": "npx genversion --es6 --semi version.js",
|
"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",
|
"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: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",
|
"dev:live": "cross-env NODE_ENV=dev DEBUG=lot-occupancy-system:* nodemon ./bin/www.js",
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1 @@
|
||||||
|
export {};
|
||||||
|
|
@ -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);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
@ -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)
|
||||||
|
})
|
||||||
|
})
|
||||||
|
|
@ -335,7 +335,7 @@ describe('functions.user', () => {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
describe('plyfills', () => {
|
describe('polyfills', () => {
|
||||||
it('applys Object.hasOwn polyfill', () => {
|
it('applys Object.hasOwn polyfill', () => {
|
||||||
delete Object.hasOwn;
|
delete Object.hasOwn;
|
||||||
assert.ok(Object.hasOwn === undefined);
|
assert.ok(Object.hasOwn === undefined);
|
||||||
|
|
|
||||||
|
|
@ -516,7 +516,7 @@ describe('functions.user', () => {
|
||||||
})
|
})
|
||||||
})
|
})
|
||||||
|
|
||||||
describe('plyfills', () => {
|
describe('polyfills', () => {
|
||||||
it('applys Object.hasOwn polyfill', () => {
|
it('applys Object.hasOwn polyfill', () => {
|
||||||
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
||||||
delete (Object as any).hasOwn
|
delete (Object as any).hasOwn
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue