UNPKG

ember-cli-memserver

Version:

Mock HTTP Server + In-memory ORM/DB for Ember.js. Fastboot compliant MemServer bindings for Ember-cli. Built for large frontend teams, fast tests and rapid prototyping

62 lines (45 loc) 1.72 kB
const path = require('path'); const assert = require('assert'); const EmberAddon = require('ember-cli/lib/broccoli/ember-addon'); process.setMaxListeners(0); describe('Addon', function() { this.timeout(15000); afterEach(function() { delete process.env.EMBER_ENV; }); describe('#treeFor addon', function() { treeForTests('addon'); }); describe('#treeFor app', function() { treeForTests('app'); }); }); function treeForTests(name) { ['development', 'test', 'production'].forEach((environment) => { it('returns an empty tree in ' + environment + ' environment by default', function() { process.env.EMBER_ENV = environment; const addonTree = getMemServerAddon().treeFor(name); assert.equal(addonTree, undefined); }); }); ['development', 'test', 'production'].forEach((environment) => { it('returns a tree in ' + environment + ' environment by default when enabled', function() { process.env.EMBER_ENV = environment; const addon = getMemServerAddon({ configPath: 'tests/config/environment-enabled' }); const addonTree = addon.treeFor(name); assert.ok(addonTree._inputNodes.length !== 0); }); }); } function getMemServerAddon(options={}) { options['ember-cli-memserver'] = options['ember-cli-memserver'] || options; options['ember-cli-memserver'].directory = options['ember-cli-memserver'].directory || path.resolve(__dirname, path.join('..', 'dummy', 'memserver')); const dummyApp = new EmberAddon(options); const server = findMemServer(dummyApp); return server; } function findMemServer(app) { const addons = app.project.addons; return addons.find((addon) => addon.name === 'ember-cli-memserver'); }