import * as plugins from './npmci.plugins' import {bash} from './npmci.bash' import {install} from './npmci.install' import * as env from './npmci.env' import * as NpmciBuildDocker from './npmci.build.docker' export let test = (versionArg) => { let done = plugins.q.defer() if (versionArg === 'docker') { testDocker() .then(() => { done.resolve() }) } else { install(versionArg) .then(npmDependencies) .then(npmTest) .then(() => { done.resolve() }) } return done.promise } let npmDependencies = function(){ let done = plugins.q.defer() plugins.beautylog.info('now installing dependencies:') bash('npm install') done.resolve() return done.promise } let npmTest = () => { let done = plugins.q.defer() plugins.beautylog.info('now starting tests:') bash('npm test') done.resolve() return done.promise } let testDocker = function(){ let done = plugins.q.defer() NpmciBuildDocker.readDockerfiles() .then(NpmciBuildDocker.pullDockerfileImages) .then(NpmciBuildDocker.testDockerfiles) .then(done.resolve) return done.promise }