flush.test.js 869 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. 'use strict'
  2. const { test } = require('tap')
  3. const flush = require('../../../../lib/client/request-queue/flush')
  4. test('clears timer', async t => {
  5. t.plan(2)
  6. const q = {
  7. _timer: 123,
  8. _queue: {
  9. values () {
  10. return []
  11. },
  12. clear () {
  13. t.pass()
  14. }
  15. }
  16. }
  17. flush.call(q)
  18. t.equal(q._timer, null)
  19. })
  20. test('invokes callback with parameters', async t => {
  21. t.plan(6)
  22. const req = {
  23. message: 'foo',
  24. expect: 'bar',
  25. emitter: 'baz',
  26. cb: theCB
  27. }
  28. const q = {
  29. _timer: 123,
  30. _queue: {
  31. values () {
  32. return [req]
  33. },
  34. clear () {
  35. t.pass()
  36. }
  37. }
  38. }
  39. flush.call(q, (message, expect, emitter, cb) => {
  40. t.equal(message, 'foo')
  41. t.equal(expect, 'bar')
  42. t.equal(emitter, 'baz')
  43. t.equal(cb, theCB)
  44. })
  45. t.equal(q._timer, null)
  46. function theCB () {}
  47. })