UNPKG

mongoose-data-seed

Version:

Seed mongodb with data using mongoose models

66 lines (46 loc) 1.48 kB
import test from 'ava'; import sinon from 'sinon'; import path from 'path'; import fs from 'fs'; import FilesSandbox from './utils/files-sandbox'; import { runCommand } from '../lib/commands/helpers'; import config from '../lib/config'; const createSandbox = () => { const sandbox = new FilesSandbox('init-'); const { sandboxPath } = sandbox; const examplesFolderName = 'md-seed-example'; fs.copyFileSync( path.join(__dirname, `../../examples/${examplesFolderName}/package.json`), path.join(sandboxPath, 'package.json') ); config.update(sandboxPath); return sandbox; }; test.beforeEach('mock', t => { sinon.stub(global.console, 'log'); }); test.afterEach.always('unmock', t => { global.console.log.restore(); }); test.serial('md-seed init --help', async t => { await runCommand('init', '--help'); await runCommand('init', '-h'); const [[results], [resultsAlias]] = global.console.log.args; t.is(results, resultsAlias); t.snapshot(results); }); test.serial( 'md-seed init --seedersFolder=folder-name seederTemplate=file-path.ejs', async t => { const argv = '--seedersFolder=folder-name --seederTemplate=file-path.ejs'.split( ' ' ); const sandbox = createSandbox(); await runCommand('init', argv); const { args: logResults } = global.console.log; const files = sandbox.readFiles(); sandbox.clean(); t.snapshot(logResults, 'log results'); t.snapshot(files, 'sandbox content'); } );