import mockery from 'mockery' // inject __DEV__ as it is not available when running through the tests global.__DEV__ = true // We enable mockery and leave it on. mockery.enable() // Silence the warnings when *real* modules load... this is a change from // the norm. We want to opt-in instead of opt-out because not everything // will be mocked. mockery.warnOnUnregistered(false) // Let's register some mocks for the images that are brought into our project. // You'll have to do the same because the React Native packager and babel // are locked into a horrible custody battle. mockery.registerMock('../Images/ir.png', 0) mockery.registerMock('../Images/top_logo.png', 0) mockery.registerMock('../Images/ignite_logo.png', 0) mockery.registerMock('../Images/tile_bg.png', 0) mockery.registerMock('../Images/BG.png', 0) // Add more mocks here. Mainly images need to be stubbed, however, you might // find 3rd party libraries need a little bit of love too. I'm looking at you // react-native-router-flux.
beforeEach(function() { stubbedCloudwatchIntegration.upload = sinon.stub().yields('ERROR'); mockery.registerMock('./lib/cloudwatch-integration', stubbedCloudwatchIntegration); sinon.stub(console, 'error'); });
var chai = require('chai'); var chaiEnzyme = require('chai-enzyme'); var mockery = require('mockery'); require('react-native-mock/mock'); require('babel-core/register')({ ignore: /node_modules\/(?!react-native-vector-icons|react-native-router-flux|react-native-tabs|react-native-spinkit|react-native-drawer)/, plugins: [ ['transform-assets', { extensions: ['png'], name: '[name].[ext]?[sha512:hash:base64:7]', }], ], }); chai.use(chaiEnzyme()); mockery.enable({ warnOnReplace: false, warnOnUnregistered: false, }); mockery.registerMock('react-native-router-flux', { Actions: {} });
before(function() { mockery.enable(); mockery.registerMock('./chat-actions', chatActions); mockery.registerAllowable('../lib/connection'); Connection = require('../lib/connection'); });
/** * Tests public phantomas API */ var vows = require('vows'), assert = require('assert'), mockery = require('mockery'), phantomas = require('../core/phantomas'); // mock PhantomJS-specific modules and globals GLOBAL.phantom = { version: {} }; mockery.registerMock('fs', { list: function() {} }); mockery.registerMock('system', { os: {} }); mockery.registerMock('webpage', { create: function() { return { evaluate: function() {}, injectJs: function() {}, render: function() {} }; }, }); mockery.enable({ warnOnUnregistered: false });
it('uses command from config', function() { // With stubbed dependency manager, timing out is warning for accidentally not using the stub this.timeout(1200); let config = { command: 'ember test --test-port=2345', scenarios: [{ name: 'first', dependencies: { ember: '1.13.0', }, }, { name: 'second', dependencies: { ember: '2.2.0', }, }, { name: 'different', command: 'npm run-script different', dependencies: { ember: '2.0.0', }, }], }; let ranDefaultCommandCount = 0; let ranScenarioCommandCount = 0; let mockedRun = generateMockRun([{ command: 'ember test --test-port=2345', callback() { ranDefaultCommandCount++; return RSVP.resolve(0); }, }, { command: 'npm run-script different', callback() { ranScenarioCommandCount++; return RSVP.resolve(0); }, }]); mockery.registerMock('./run', mockedRun); let output = []; let outputFn = function(log) { output.push(log); }; let TryEachTask = require('../../lib/tasks/try-each'); let tryEachTask = new TryEachTask({ ui: { writeLine: outputFn }, project: { root: tmpdir }, config, dependencyManagerAdapters: [new StubDependencyAdapter()], _on() {}, }); return tryEachTask.run(config.scenarios, {}).then((exitCode) => { expect(exitCode).to.equal(0, 'exits 0 when all scenarios succeed'); expect(output).to.include('Scenario first: SUCCESS'); expect(output).to.include('Scenario second: SUCCESS'); expect(output).to.include('Scenario different: SUCCESS'); expect(ranDefaultCommandCount).to.equal(2, 'Should run the default command scenarios without their own commands specified'); expect(ranScenarioCommandCount).to.equal(1, 'Should run the scenario command for scenario that specified it'); }); });
it('should expose a isConnected() method', function() { this.mongoose = this.helpers.requireFixture('mongoose').mongoose(); mockery.registerMock('mongoose', this.mongoose); this.mongo = this.helpers.requireBackend('core').db.mongo; expect(this.mongo).to.respondTo('isConnected'); });
before(function () { mockery.enable({ warnOnReplace: false, warnOnUnregistered: false, useCleanCache: true }) mockery.registerMock('../../extensions/brave/img/urlbar/browser_URL_fund_no_verified.svg', {}) mockery.registerMock('../../extensions/brave/img/urlbar/browser_URL_fund_yes_verified.svg', {}) mockery.registerMock('../../extensions/brave/img/urlbar/browser_URL_fund_no.svg', {}) mockery.registerMock('../../extensions/brave/img/urlbar/browser_URL_fund_yes.svg', {}) mockery.registerMock('../../extensions/brave/img/tabs/new_session.svg') mockery.registerMock('../../../extensions/brave/img/caret_down_grey.svg') mockery.registerMock('../../../../img/url-bar-no-script.svg', {}) mockery.registerMock('electron', require('../../../../lib/fakeElectron')) mockery.registerMock('../../../common/state/windowState', fakeWindowState) mockery.registerMock('../../currentWindow', fakeCurrentWindow) mockery.registerMock('./navigationBar', () => null) mockery.registerMock('../../../../js/state/frameStateUtil', { getActiveFrame: () => defaultWindowStore.getIn(['frames', 0]), getTotalBlocks: () => 2 }) mockery.registerMock('../../../common/state/shieldState', { braveShieldsEnabled: () => true }) mockery.registerMock('../../../../js/settings', { getSetting: () => { return settingDefaultValue } }) appStore = require('../../../../../../js/stores/appStoreRenderer') windowStore = require('../../../../../../js/stores/windowStore') Navigator = require('../../../../../../app/renderer/components/navigation/navigator') })
beforeEach(function() { this.mongoose = this.helpers.requireFixture('mongoose').mongoose(); this.mongoose.Types.ObjectId = function(name) { return name; }; mockery.registerMock('mongoose', this.mongoose); });
beforeEach(function() { registryMock = {}; mockery.registerMock('./registry', function() { return registryMock; }); });
it('should pubsub contacts:contact:delete event for removed contacts', function(done) { var options = { account: account, user: user }; var addressbook = { id: '1', name: 'MyAB' }; mockery.registerMock('./helper', function() { return { getImporterOptions: function() { return q(options); }, initializeAddressBook: function(options) { options.addressbook = addressbook; return q(options); }, cleanOutdatedContacts: function() { return q.resolve([{ cardId: '1', data: 'data' }, { cardId: '2', error: new Error('Cannot delete this contact') }, { cardId: '3', data: 'data' }]); } }; }); registryMock = { get: function() { return { lib: { importer: { importContact: function() { return q.resolve(); } } } }; } }; var publishSpy = sinon.spy(); pubsubMock.global.topic = function(topic) { expect(topic).to.equal('contacts:contact:delete'); return { publish: publishSpy }; }; getModule().synchronizeAccountContacts(user, account).then(function() { expect(publishSpy.callCount).to.equal(2); expect(publishSpy).to.have.been.calledWith({ mode: 'import', contactId: '1', bookId: user._id, bookName: addressbook.id }); expect(publishSpy).to.have.been.calledWith({ mode: 'import', contactId: '3', bookId: user._id, bookName: addressbook.id }); done(); }); });
/** * Mock setup: * * Initialize VALUES, populating with values in opts.initialValues if * present * * Create mocks, overriding / adding to the list with mocks in opts.mocks * if present * * If opts.allowed is present, add all mocks in the list to mockery's * allowed modules * * Enable all of the mocks * * Returns a newly-require()'d fw.js with most external modules mocked out. */ function setup(opts) { if (fw) { return fw; } var m; if (!opts) { opts = {}; } if (!opts.mocks) { opts.mocks = {}; } resetValues(opts); mockery.enable(); for (m in opts.mocks) { MOCKS[m] = opts.mocks[m]; } for (m in MOCKS) { mockery.registerMock(m, MOCKS[m]); } var allowed = [ 'assert', 'assert-plus', 'clone', 'events', 'extsprintf', 'fwrule', 'net', 'node-uuid', 'path', 'stream', 'vasync', 'verror', 'util', './clonePrototype.js', './filter', './ipf', './obj', './parser', './pipeline', './rule', './rvm', './util/errors', './util/log', './util/obj', './util/vm', './validators', '../../lib/fw' ]; if (opts.allowed) { allowed = allowed.concat(opts.allowed); } allowed.forEach(function (mod) { mockery.registerAllowable(mod); }); fw = require('../../lib/fw'); return fw; }
reducers.forEach((reducer) => { mockery.registerMock(reducer, fakeReducer) })
var mockery = require('mockery'); var config = require('./mocks/config.json'); var CONFIG = _.cloneDeep(config); function requireFreshConfig() { return _.cloneDeep(CONFIG); } var walletMock = require('./mocks/wallet'); var tickerMock = require('./mocks/ticker'); var traderMock = require('./mocks/trader'); var verifierMock = require('./mocks/verifier'); mockery.registerMock('lamassu-mockWallet', walletMock); mockery.registerMock('lamassu-mockTicker', tickerMock); mockery.registerMock('lamassu-mockTrader', traderMock); mockery.registerMock('lamassu-mockVerifier', verifierMock); describe('Plugins', function() { var plugins = null; before(function() { mockery.enable({ useCleanCache: true, warnOnReplace: false, warnOnUnregistered: false });
beforeEach(() => { song = { id: 1, uri: 'song1 uri', name: 'test song', artists: [ { name: 'Test Artist' } ] }; playlist = { access_token: 'playlist_access_token', refresh_token: 'playlist_refresh_token', creatorName: 'Testa Roni', id: 1 } dbMock = { findOne: sinon.spy((collection, value) => { var db = { 'numbers': { '1234567890': { lastSong: 'song', party: 'ABCD' }, 'null': { lastSong: 'nullSong', party: 'nullParty' } }, 'parties': { 'ABCD': playlist } }; var result = db[collection][value]; if (result) { return Promise.resolve({ body: result }); } else { return Promise.reject(); } }), remove: sinon.spy((collection, value) => { if (collection === 'numbers') { if (value === '1234567890') { return Promise.resolve(); } else { return Promise.reject(); } } }), update: sinon.stub().returns(Promise.resolve()), increment: sinon.stub().returns(Promise.resolve()), append: sinon.stub().returns(Promise.resolve()) }; messengerMock = { sendText: sinon.spy(), validate: sinon.stub().returns(true), getTwiMLString: sinon.stub().returns('twiml') }; spotifyMock = { removeSong: sinon.stub().returns(Promise.resolve()), setTokens: sinon.spy(), refreshAccessToken: sinon.stub().returns(Promise.resolve('new_token')), searchTracks: sinon.spy(search => { if (search === 'song search') { return Promise.resolve([ song ]); } else if (search === 'duplicate song search') { return Promise.resolve([ { name: 'duplicate song', artists: [ { name: 'copycat' } ] } ]); } return Promise.resolve([]); }), addSongToPlaylist: sinon.spy((song) => { if (song.name === 'test song') { return Promise.resolve(); } else if (song.name === 'duplicate song') { return Promise.reject('duplicate song'); } return Promise.reject(); }) }; mockery.registerMock('../services/db_service', dbMock); mockery.registerMock('../services/messenger_service', messengerMock); mockery.registerMock('../services/spotify_api_service', spotifyMock); app = require('../mock_app'); smsRoute = require('../../routes/sms_route.js'); smsRoute.setup(app); });
beforeEach(function() { this.mongoose = this.helpers.requireFixture('mongoose').mongoose(); mockery.registerMock('mongoose', this.mongoose); });
before(() => mockery.registerMock('fs-extra', fsMock))
before(function () { mockery.enable({ warnOnReplace: false, warnOnUnregistered: false, useCleanCache: true }) mockery.registerMock('../../../../img/toolbar/stoploading_btn.svg') mockery.registerMock('../../less/about/preferences.less', {}) mockery.registerMock('../../less/forms.less', {}) mockery.registerMock('../../less/button.less', {}) mockery.registerMock('../../node_modules/font-awesome/css/font-awesome.css', {}) mockery.registerMock('../../../extensions/brave/img/caret_down_grey.svg', 'caret_down_grey.svg') mockery.registerMock('../../../extensions/brave/img/preferences/browser_prefs_general.svg', 'browser_prefs_general.svg') mockery.registerMock('../../../extensions/brave/img/preferences/browser_prefs_search.svg', 'browser_prefs_search.svg') mockery.registerMock('../../../extensions/brave/img/preferences/browser_prefs_tabs.svg', 'browser_prefs_tabs.svg') mockery.registerMock('../../../extensions/brave/img/preferences/browser_prefs_extensions.svg') mockery.registerMock('../../../extensions/brave/img/preferences/browser_prefs_plugins.svg', 'browser_prefs_plugins.svg') mockery.registerMock('../../../extensions/brave/img/preferences/browser_prefs_security.svg', 'browser_prefs_security.svg') mockery.registerMock('../../../extensions/brave/img/preferences/browser_prefs_shields.svg', 'browser_prefs_shields.svg') mockery.registerMock('../../../extensions/brave/img/preferences/browser_prefs_payments.svg', 'browser_prefs_payments.svg') mockery.registerMock('../../../extensions/brave/img/preferences/browser_prefs_sync.svg', 'browser_prefs_sync.svg') mockery.registerMock('../../../extensions/brave/img/preferences/browser_prefs_advanced.svg', 'browser_prefs_advanced.svg') mockery.registerMock('../../../extensions/brave/img/ledger/icon_settings.svg') mockery.registerMock('../../../extensions/brave/img/ledger/icon_history.svg') mockery.registerMock('../../../../extensions/brave/img/ledger/verified_green_icon.svg') mockery.registerMock('../../../../extensions/brave/img/ledger/verified_white_icon.svg') mockery.registerMock('../../../../extensions/brave/img/ledger/icon_remove.svg') mockery.registerMock('../../../../extensions/brave/img/ledger/icon_pin.svg') mockery.registerMock('../../../../extensions/brave/img/ledger/uphold_logo_small.png') mockery.registerMock('../../../../extensions/brave/img/ledger/uphold_logo_medium.png') mockery.registerMock('../../../../extensions/brave/img/private_internet_access.png') mockery.registerMock('../../../../extensions/brave/img/private_internet_access_2x.png') mockery.registerMock('../../../../extensions/brave/img/coinbase_logo.png') mockery.registerMock('../../../../extensions/brave/img/android_download.svg') mockery.registerMock('../../../../extensions/brave/img/ios_download.svg') // Mocks the icon used in payments tab mockery.registerMock('../../../extensions/brave/img/ledger/cryptoIcons/BAT_icon.svg') mockery.registerMock('../../../../../img/toolbar/stoploading_btn.svg') // Mocks the icons used in addFundsDialog and its steps mockery.registerMock('../../../../../../extensions/brave/img/ledger/wallet_icon.svg') mockery.registerMock('../../../../../../extensions/brave/img/ledger/cryptoIcons/ETH_icon.svg') mockery.registerMock('../../../../../../extensions/brave/img/ledger/cryptoIcons/BTC_icon.svg') mockery.registerMock('../../../../../../extensions/brave/img/ledger/cryptoIcons/LTC_icon.svg') mockery.registerMock('../../../../../../extensions/brave/img/ledger/cryptoIcons/BAT_icon.svg') // Mock image from addFundsDialogFooter mockery.registerMock('../../../../../extensions/brave/img/ledger/uphold_logo_medium.png') mockery.registerMock('electron', fakeElectron) mockery.registerMock('../../../../js/settings', fakeSettings) fakeSettings.mockReturnValue = false window.chrome = fakeElectron PaymentsTab = require('../../../../../../app/renderer/components/preferences/paymentsTab') EnabledContent = require('../../../../../../app/renderer/components/preferences/payment/enabledContent') })
it('should be false', function() { this.mongoose = this.helpers.requireFixture('mongoose').mongoose(); mockery.registerMock('mongoose', this.mongoose); this.mongo = this.helpers.requireBackend('core').db.mongo; expect(this.mongo.isConnected()).to.be.false; });
import 'react-native-mock/mock'; import mockery from 'mockery'; global.__DEV__ = true; mockery.enable(); mockery.warnOnUnregistered(false); mockery.registerMock('react-native-vector-icons/MaterialIcons', () => null);
let expect = chai.expect; import * as mockery from 'mockery'; // bot classes let Robot = require('../src/robot'); let {CatchAllMessage, EnterMessage, TextMessage} = require('../src/message'); let Adapter = require('../src/adapter'); let Response = require('../src/response'); let Middleware = require('../src/middleware'); // Preload the Hubot mock adapter but substitute // in the latest version of Adapter mockery.enable(); mockery.registerAllowable('hubot-mock-adapter'); mockery.registerAllowable('lodash'); // hubot-mock-adapter uses lodash // Force hubot-mock-adapter to use the latest version of Adapter mockery.registerMock('hubot/src/adapter', Adapter); // Load the mock adapter into the cache require('hubot-mock-adapter'); // We're done with mockery mockery.deregisterMock('hubot/src/adapter'); mockery.disable(); describe('Middleware', function() { describe('Unit Tests', function() { beforeEach(function() { this.robot = { // Stub out event emitting emit: sinon.spy() };
'use strict'; /* globals describe: false, it: false, expect: false */ /* globals process: false, console: false */ var mockery = require('mockery'); mockery.enable(); mockery.registerAllowables(['../src/js/converter/declarations.js', 'console', './utils.js', './domutils.js', 'console', '../bower_components/mensch']); var currentDocument; mockery.registerMock('jquery', function() { return currentDocument.apply(currentDocument, arguments); }); mockery.registerMock('jsep-local', require('../bower_components/jsep/src/jsep.js')); mockery.registerMock('mensch/lib/parser.js', function() { var parse = require('../bower_components/mensch').parse; return parse.apply(parse, arguments); }); var elaborateDeclarations = require('../src/js/converter/declarations.js'); var mockedBindingProvider = function(a, b) { // console.log("binding provider for", a, b); return "$" + a + "[" + b + "]"; }; describe('Style declaration processor', function() { it('should not loose simple properties after a -ko-property', function() { var styleSheet, declarations, previewBindings; styleSheet = require('mensch/lib/parser.js')("#{\n" + 'color: red; -ko-color: @color; background-color: white' + "}", { comments: true, position: true });
beforeEach(function () { this.spy = sinon.spy(); this.stubPath = path.join(__dirname, 'generator-dumb/main.js'); this.LocalDummy = generators.Base.extend({ exec: this.spy }); mockery.registerMock(this.stubPath, this.LocalDummy); });
before(function () { mockery.enable({ warnOnReplace: false, warnOnUnregistered: false, useCleanCache: true }) this.state = Immutable.fromJS({ settings: [], tabs: [{ tabId: 1, index: 0, windowId: 1, pinned: false, active: true }, { tabId: 2, index: 1, pinned: true, windowId: 1 }, { tabId: 3, index: 2, pinned: false, windowId: 2, active: false }, { tabId: 4, index: 3, pinned: false, windowId: 2, active: false }, { tabId: 5, index: 4, pinned: false, windowId: 2, active: true, openerTabId: 4 }], tabsInternal: { index: { 1: 0, 2: 1, 3: 2, 4: 3, 5: 4 }, lastActive: { 1: [0, 1], 2: [4, 3, 2] } }, windows: [{ windowId: 1, windowUUID: 'uuid' }, { windowId: 2, windowUUID: 'uuid2' }] }) mockery.registerMock('electron', fakeElectron) mockery.registerMock('ad-block', fakeAdBlock) this.tabsAPI = { isDevToolsFocused: (tabId) => { return tabId === 1 }, setWebRTCIPHandlingPolicy: sinon.mock(), toggleDevTools: sinon.mock(), closeTab: sinon.mock(), moveTo: sinon.mock(), reload: sinon.mock(), updateTabsStateForWindow: sinon.mock(), create: sinon.mock(), forgetTab: sinon.spy() } this.windowsAPI = require('../../../../../app/browser/windows') this.tabStateAPI = require('../../../../../app/common/state/tabState') mockery.registerMock('tabs', this.tabsAPI) mockery.registerMock('../tabs', this.tabsAPI) mockery.registerMock('../windows', this.windowsAPI) mockery.registerMock('../../common/state/tabState', this.tabStateAPI) tabsReducer = require('../../../../../app/browser/reducers/tabsReducer') this.realTabsAPI = require('../../../../../app/browser/tabs') this.tabsAPI.getNextActiveTab = this.realTabsAPI.getNextActiveTab })
'setupSuite' : function(test) { mockery.registerMock('jive-sdk', realJive); mockery.enable(); mockery.warnOnReplace(false); mockery.warnOnUnregistered(false); },
'use strict' const sandbox = require('sinon') const tap = require('tap') const test = tap.test const mockery = require('mockery') const server = require('../../server') mockery.enable({ warnOnReplace: false, warnOnUnregistered: false }) const transformerStub = sandbox.stub() mockery.registerMock('../utils/transformer', transformerStub) const createModelsFromSchema = require('../../../lib/schema/createModelsFromSchema').createModelsFromSchema var arrow var connector tap.beforeEach((done) => { sandbox.createSandbox() done() }) tap.afterEach((done) => { sandbox.restore() done() })
it('should extract styles recursively', () => { /** * Create a mock for the clean-css npm module */ const cleanCssMock = function() { this.minify = (styles) => { return { styles } }; }; /** * Register the mock */ mockery.registerMock('clean-css', cleanCssMock); /** * Create a dummy config to extract styles from */ const dummyConfig = { app: { type: { getStyles() { return '.style { background: red; }' } }, options: { modules: [{ type: { getStyles() { return '.style { background: blue; }' } }, options: { modules: [{ type: { getStyles() { return '.style { background: green; }' } }, options: { a: 5 } }, { type: { getStyles() { return '.style { background: yellow; }' } }, options: { b: 10 } }, { type: { getStyles() { return '.style { background: orange; }' } }, options: { c: 15 } }] } }] } } }; /** * Import the unit we want to test */ const extractStyles = require('./extract-styles').default; /** * Extract the styles */ const criticalStyles = extractStyles(dummyConfig.app); /** * Do assertations/expectations */ expect(criticalStyles).toEqual([ '.style { background: red; }', '.style { background: blue; }', '.style { background: green; }', '.style { background: yellow; }', '.style { background: orange; }', ].join('')) });
before(function() { mockery.enable({useCleanCache: true}); // Enable mockery at the start of your test suite mockery.registerMock('request', request); mockery.registerAllowables(['loglevel', 'events', '../../lib/slackbot.js', 'util']); slackbot = require('../../lib/slackbot.js') })
beforeEach(function() { this.helpers.mock.models({}); coreDomainMock = {}; mockery.registerMock('../../core/domain', coreDomainMock); });
const test = tap.test const mockery = require('mockery') const server = require('../../server') var arrow var connector mockery.enable({ warnOnReplace: false, warnOnUnregistered: false }) var sdkFacadeStub = sandbox.stub() mockery.registerMock('../utils/sdkFacade', sdkFacadeStub) mockery.registerMock('appc-connector-utils', sandbox.spy()) var connect = require('../../../lib/lifecycle/connect').connect tap.beforeEach((done) => { sandbox.createSandbox() done() }) tap.afterEach((done) => { sandbox.restore() done() }) test('### Start Arrow ###', (t) => {