UNPKG

mqrpc

Version:

💫 Easy RPC over RabbitMQ

32 lines (31 loc) • 1.27 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const ava_1 = require("ava"); const Timer_1 = require("../../lib/Timer"); const _utils_1 = require("../_utils"); const timeout = { id: 'ackTo', length: 25 }; ava_1.default.beforeEach(t => t.context.timer = new Timer_1.default()); ava_1.default('[unit] #clear stops all active timeouts for all calls', t => { const promises = [ t.context.timer.addTimeouts('an-id', timeout), t.context.timer.addTimeouts('an-id-too', timeout, { id: 'fast!', length: 15 }), t.context.timer.addTimeouts('an-id-also', timeout), Promise.resolve(42) // for .race ]; t.context.timer.clear(); return _utils_1.delay(25).then(() => t.notThrows(Promise.race(promises))); }); ava_1.default('[unit] #clear removes all calls', t => { const promises = [ t.context.timer.addTimeouts('an-id', timeout), t.context.timer.addTimeouts('an-id-too', timeout) ]; t.context.timer.clear(); const otherPromises = [ t.context.timer.addTimeouts('an-id', timeout), t.context.timer.addTimeouts('an-id-too', timeout) ]; t.not(promises[0], otherPromises[0]); t.not(promises[1], otherPromises[1]); t.context.timer.clear(); // cleanup });