it('passes an empty payload to the handler if none sent at dispatch', function(done) { const handler = sinon.spy(); const burns = require('../../src/burns'); burns.registerEvents({ eventZ: handler }); burns.dispatch('eventZ'); setTimeout(() => { expect(handler.calledOnce).to.equal(true); expect(handler.getCall(0).args[0]).to.deep.equal({}); done(); }, 0); });
describe('Unit: ResolveTask::run', () => { const hostname = addresses.INET_HOST1; const ipVersion = 4; it('must run resolver with correct set of params', () => { const resolverSpy = sinon.spy(); const task = new ResolveTask(hostname, ipVersion); task._resolver = resolverSpy; task.run(); assert.isTrue(resolverSpy.calledOnce); assert.isTrue(resolverSpy.calledWithExactly(hostname, {ttl: true}, task._resolved)); }); });
test('Should allow "fail" option to customize failures', async t => { const fail = spy() await add(undefined, undefined, { fail }) t.true(fail.calledOnce) t.is(typeof fail.firstCall.firstArg, 'string') })
it('should call pg_dump with some default args', async () => { const pgdumpProcess = mockSpawn()() const pgDumpFn = sinon.fake.returns(pgdumpProcess) const config = {} const p = pgdump(config, pgDumpFn) pgdumpProcess.stdout.write('PGDMP - data - data') pgdumpProcess.emit('close', 0) await p expect(pgDumpFn.calledOnce).to.be.true const pgDumpArgs = pgDumpFn.getCall(0).args[1] expect(pgDumpArgs).to.deep.equal(['-Fc', '-Z1']) })
test('once', function () { var spy = sinon.spy() var fn = utils.once(spy) expect(spy.calledOnce).to.be.false fn() expect(spy.calledOnce).to.be.true fn() expect(spy.calledOnce).to.be.true })
it('if version is not provided by client, ' + 'and NoMatchFoundCallback if provided is called', function() { var NoMatchFoundSpy = sinon.spy(); var middleware = routesVersioning({}, NoMatchFoundSpy); middleware(req, res, next); assert.ok(NoMatchFoundSpy.calledOnce); assert.ok(NoMatchFoundSpy.calledWith(req, res, next)); });
it('when ~ is used in version, version should matching appropriately', function() { var version1Spy = sinon.spy(); var version2Spy = sinon.spy(); var middleware = routesVersioning({ "~1.2.1": version1Spy, "2.3.1": version2Spy }); req.version = "1.2.9"; middleware(req, res, next); assert.ok(version1Spy.calledOnce); assert.ok(version1Spy.calledWith(req, res, next)); });
it('should call to actions.fetchWeather when the user press enter in the search input', () => { const fetchWeather = spy() const props = { actions: { fetchWeather } } const wrapper = shallow(<WeatherSearch {...props} />) const fakeEvent = {key: 'Enter'} wrapper.find('input').simulate('keyPress', fakeEvent) expect(fetchWeather.calledOnce).equal(true) })
it('calls the default handler if event not registered', function(done) { const defaultHandler = sinon.spy(); require('../../src/burns').configure({ defaultHandler }).dispatch('im_unregistered'); setTimeout(() => { expect(defaultHandler.calledOnce).to.equal(true); done(); }, 0); });
it('calls handlers for an event with the passed payload', function(done) { const handler = sinon.spy(); const burns = require('../../src/burns'); burns.registerEvents({ eventW: handler }); const eventPayload = { key: 'value' }; burns.dispatch('eventW', eventPayload); setTimeout(() => { expect(handler.calledOnce).to.equal(true); expect(handler.calledWith(eventPayload)).to.equal(true); done(); }, 0); });
it('if version if not provided by client, ' + 'and NoMatchFoundCallback is not provided, ' + 'latest version callback should be called', function() { var latestVersionSpy = sinon.spy(); var middleware = routesVersioning({ "1.2.1": sinon.spy(), "1.3.1": latestVersionSpy }); middleware(req, res, next); assert.ok(latestVersionSpy.calledOnce); assert.ok(latestVersionSpy.calledWith(req, res, next)); });
test('Should allow "fail" option to customize failures', async t => { const fail = spy() await add(undefined, undefined, { fail }) t.true(fail.calledOnce) t.is(typeof fail.firstCall.firstArg, 'string') })
it('when version provided as integer, version should cast to string', function() { var version1Spy = sinon.spy(); var middleware = routesVersioning({ "1": version1Spy, }); req.version = 1; middleware(req, res, next); assert.ok(version1Spy.calledOnce); assert.ok(version1Spy.calledWith(req, res, next)); });
it('should call to actions.fetchWeather when search button is clicked', () => { const fetchWeather = spy() const props = { actions: { fetchWeather } } const wrapper = shallow(<WeatherSearch {...props} />) wrapper.find('button').simulate('click') expect(fetchWeather.calledOnce).equal(true) })
it('when ^ is used in version, version should matching appropriately', function() { var version1Spy = sinon.spy(); var version2Spy = sinon.spy(); var middleware = routesVersioning({ "^1.2.1": version1Spy, "2.3.1": version2Spy }); req.version = "1.4.2"; middleware(req, res, next); assert.ok(version1Spy.calledOnce); assert.ok(version1Spy.calledWith(req, res, next)); });