test: add test setup files for backing up store and database folders before tests

This commit is contained in:
Xymorot 2019-11-23 23:28:50 +01:00
parent 7c2aaacf13
commit b73e14f0ab
5 changed files with 31 additions and 15 deletions

1
.gitignore vendored
View File

@ -15,6 +15,7 @@ node_modules
# created by testing
/store-backup
/database-backup
# managed by application
/database

View File

@ -13,8 +13,10 @@
"typeorm:migrate:library": "typeorm migration:run -c library",
"watch": "gulp build --watch --dev",
"build": "gulp build",
"test:fast": "mocha --grep @slow --invert",
"test": "mocha",
"test:before": "node tests/setup/before.js",
"test:after": "node tests/setup/after.js",
"test:fast": "npm run test:before && mocha --grep @slow --invert && npm run test:after",
"test": "npm run test:before && mocha && npm run test:after",
"coverage:fast": "nyc npm run test:fast",
"coverage": "nyc npm run test",
"lint:check": "npm run eslint:check && npm run tslint:check",

View File

@ -8,29 +8,16 @@ import path from 'path';
import { load, save, StoreKeys } from '../../../src/main/services/store';
const storeDirectory = path.resolve('store');
const storeBackupDirectory = path.resolve('store-backup');
describe('Store Service', function() {
this.timeout(10000);
before(() => {
rewiremock.enable();
if (fs.existsSync(storeDirectory)) {
if (fs.existsSync(storeBackupDirectory)) {
fs.removeSync(storeBackupDirectory);
}
fs.moveSync(storeDirectory, storeBackupDirectory);
}
});
after(() => {
rewiremock.disable();
if (fs.existsSync(storeBackupDirectory)) {
if (fs.existsSync(storeDirectory)) {
fs.removeSync(storeDirectory);
}
fs.moveSync(storeBackupDirectory, storeDirectory);
}
});
beforeEach(() => {

5
tests/setup/after.ts Normal file
View File

@ -0,0 +1,5 @@
import 'mocha';
import { databaseBackupDirectory, databaseDirectory, moveDir, storeBackupDirectory, storeDirectory } from './before';
moveDir(storeBackupDirectory, storeDirectory);
moveDir(databaseBackupDirectory, databaseDirectory);

21
tests/setup/before.ts Normal file
View File

@ -0,0 +1,21 @@
import fs from 'fs-extra';
import 'mocha';
import path from 'path';
export const storeDirectory = path.resolve('store');
export const storeBackupDirectory = path.resolve('store-backup');
export const databaseDirectory = path.resolve('database');
export const databaseBackupDirectory = path.resolve('database-backup');
export function moveDir(fromDir: string, toDir: string) {
if (fs.existsSync(fromDir)) {
if (fs.existsSync(toDir)) {
fs.removeSync(toDir);
}
fs.moveSync(fromDir, toDir);
}
}
moveDir(storeDirectory, storeBackupDirectory);
moveDir(databaseDirectory, databaseBackupDirectory);