2014-09-01 17:18:45 +02:00
'use strict' ;
2016-05-17 01:01:34 +10:00
require ( 'source-map-support' ) . install ( ) ;
2018-07-09 08:10:34 -04:00
global . sinon = require ( 'sinon' ) ;
2013-05-04 02:57:12 -04:00
2018-07-17 09:41:44 +02:00
const chai = ( global . chai = require ( 'chai' ) ) ;
2013-09-12 13:30:47 -04:00
2018-07-09 08:10:34 -04:00
chai . use ( require ( 'sinon-chai' ) ) ;
2013-09-05 16:36:49 -04:00
chai . should ( ) ;
2013-06-09 13:50:43 -04:00
2019-06-08 02:34:41 +02:00
const bluebird = require ( 'bluebird' ) ;
2015-04-24 12:19:33 -04:00
global . expect = chai . expect ;
2018-07-09 08:10:34 -04:00
global . d = new Date ( ) ;
2013-03-19 20:28:03 -04:00
2019-06-08 02:34:41 +02:00
bluebird . longStackTraces ( ) ;
2013-10-27 22:34:58 -04:00
2019-08-16 16:28:25 +02:00
// '.timeout(ms, {cancel: true}) should throw error if cancellation cannot acquire connection' produced unhandled rejection and it's unclear how to avoid that
const EXPECTED _REJECTION _COUNT = 2 ;
const rejectionLog = [ ] ;
process . on ( 'unhandledRejection' , ( reason ) => {
console . error ( 'Unhandled rejection:' , reason ) ;
rejectionLog . push ( {
reason ,
} ) ;
} ) ;
process . on ( 'exit' , ( code ) => {
if ( rejectionLog . length ) {
console . error ( ` Unhandled rejections: ${ rejectionLog . length } ` ) ;
rejectionLog . forEach ( ( rejection ) => {
console . error ( rejection ) ;
} ) ;
if ( rejectionLog . length > EXPECTED _REJECTION _COUNT ) {
process . exitCode = code || 1 ;
}
}
console . log ( 'No unhandled exceptions' ) ;
} ) ;
2015-04-22 10:34:14 -04:00
describe ( 'Query Building Tests' , function ( ) {
2016-06-14 19:02:43 +03:00
this . timeout ( process . env . KNEX _TEST _TIMEOUT || 5000 ) ;
2018-07-09 08:10:34 -04:00
require ( './unit/query/builder' ) ;
require ( './unit/schema/mysql' ) ( 'mysql' ) ;
require ( './unit/schema/mysql' ) ( 'mysql2' ) ;
require ( './unit/schema/postgres' ) ;
require ( './unit/schema/redshift' ) ;
require ( './unit/schema/sqlite3' ) ;
require ( './unit/schema/oracle' ) ;
require ( './unit/schema/mssql' ) ;
require ( './unit/schema/oracledb' ) ;
2018-07-17 09:41:44 +02:00
require ( './unit/migrate/migration-list-resolver' ) ;
2018-07-09 08:10:34 -04:00
require ( './unit/seed/seeder' ) ;
2019-01-31 06:23:05 +01:00
// require('./unit/interface'); ToDo Uncomment after fixed
require ( './unit/knex' ) ;
2018-07-09 08:10:34 -04:00
} ) ;
2015-04-22 10:34:14 -04:00
2017-04-28 11:47:24 +01:00
describe ( 'Integration Tests' , function ( ) {
this . timeout ( process . env . KNEX _TEST _TIMEOUT || 5000 ) ;
2018-07-09 08:10:34 -04:00
require ( './integration' ) ;
} ) ;
2017-04-28 11:47:24 +01:00
2018-07-17 09:41:44 +02:00
const config = require ( './knexfile' ) ;
2017-04-28 11:47:24 +01:00
if ( config . oracledb ) {
describe ( 'Oracledb driver tests' , function ( ) {
2017-01-16 11:05:35 +02:00
this . timeout ( process . env . KNEX _TEST _TIMEOUT || 5000 ) ;
require ( './unit/dialects/oracledb' ) ;
} ) ;
}
2017-06-01 16:41:35 -03:00
2018-07-09 08:10:34 -04:00
if ( config . postgres ) {
2017-11-18 17:09:05 +01:00
require ( './unit/dialects/postgres' ) ;
}
2018-10-03 05:02:37 +02:00
if ( config . sqlite3 ) {
describe ( 'Sqlite driver tests' , function ( ) {
this . timeout ( process . env . KNEX _TEST _TIMEOUT || 5000 ) ;
require ( './unit/dialects/sqlite3' ) ;
} ) ;
}
2019-05-13 13:39:02 +02:00
describe ( 'CLI tests' , function ( ) {
this . timeout ( process . env . KNEX _TEST _TIMEOUT || 5000 ) ;
require ( './cli/knexfile-test.spec' ) ;
2019-06-11 02:05:31 +02:00
require ( './cli/migrate-make.spec' ) ;
2019-06-30 19:23:50 +03:00
require ( './cli/version.spec' ) ;
2019-05-13 13:39:02 +02:00
} ) ;