'use strict'; const test = require('ava'); delete process.env.DATABASE_URL; test('should require DATABASE_URI', t => { const { createOptions } = require('./options'); t.throws(() => { createOptions({}); }); }); test('should set default databaseUrl for develpment', t => { delete process.env.NODE_ENV; process.env.NODE_ENV = 'development'; const { createOptions } = require('./options'); const options = createOptions({}); t.true( options.databaseUrl === 'postgres://unleash_user:passord@localhost:5432/unleash?ssl=true' ); }); test('should use DATABASE_URL from env', t => { const databaseUrl = 'postgres://u:p@localhost:5432/name'; delete process.env.NODE_ENV; process.env.DATABASE_URL = databaseUrl; const { createOptions } = require('./options'); const options = createOptions({}); t.true(options.databaseUrl === databaseUrl); }); test('should use databaseUrl from options', t => { const databaseUrl = 'postgres://u:p@localhost:5432/name'; const { createOptions } = require('./options'); const options = createOptions({ databaseUrl }); t.true(options.databaseUrl === databaseUrl); }); test('should not override provided options', t => { process.env.DATABASE_URL = 'test'; process.env.NODE_ENV = 'production'; const { createOptions } = require('./options'); const options = createOptions({ databaseUrl: 'test', port: 1111 }); t.true(options.databaseUrl === 'test'); t.true(options.port === 1111); });