paradigm-core
Version:
Paradigm Core Modules
56 lines (46 loc) • 1.31 kB
JavaScript
const fs = require('fs')
const path = require('path')
process.on('uncaughtException', function(err) {
if(err && err.stack) {
console.error(err.message)
console.error(err.stack)
} else {
console.error(err)
}
})
process.on('unhandledRejection', function(err) {
console.error('Unhandled Rejection')
if(err && err.stack) {
console.error(err.message)
console.error(err.stack)
} else {
console.error(err)
}
})
// If .env.test does not exist, try and load TEST_ENV,
// which is used on circleci, and decode it to .env.test
try {
fs.readFileSync('.env.test')
} catch(e) {
if (!process.env.TEST_ENV) {
console.error('either .env.test must exist or TEST_ENV be set')
process.exit(1)
}
const testEnvBuf = Buffer.from(process.env.TEST_ENV, 'base64')
fs.writeFileSync('.env.test', testEnvBuf)
}
const result = require('dotenv').config({path: path.join(__dirname, '.env.test')})
if (result.error) {
console.error(result.error)
process.exit(1)
} else if (Object.keys(result.parsed).length === 0) {
console.error('Failed to load env')
process.exit(1)
}
const chai = require('chai')
const sinon = require('sinon')
const sinonChai = require('sinon-chai')
chai.use(sinonChai)
global.expect = chai.expect
global.sinon = sinon
console.log('Starting tests...')