queue.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. 'use strict';
  2. require('jsdom-global')();
  3. const chai = require('chai');
  4. const dom = require('../mock/dom');
  5. const mixitup = require('../../dist/mixitup.js');
  6. const JSONDataset = require('../mock/dataset');
  7. const dataset = JSONDataset.map(data => new dom.Item(data));
  8. chai.use(require('chai-shallow-deep-equal'));
  9. chai.use(require('chai-as-promised'));
  10. describe('mixitup.Mixer', () => {
  11. describe('Queue', () => {
  12. it('should warn if too many multimix operations are pushed into the queue', () => {
  13. let container = dom.getContainer();
  14. let mixer = mixitup(container, {
  15. debug: {
  16. fauxAsync: true
  17. },
  18. animation: {
  19. duration: 200
  20. }
  21. });
  22. let promise = Promise.all([
  23. mixer.hide(),
  24. mixer.show(),
  25. mixer.hide(),
  26. mixer.show(),
  27. mixer.hide()
  28. ]);
  29. chai.assert.isFulfilled(promise);
  30. return promise;
  31. });
  32. it('should warn if too many dataset operations are pushed into the queue', () => {
  33. let container = dom.getContainer();
  34. let mixer = mixitup(container, {
  35. debug: {
  36. fauxAsync: true
  37. },
  38. animation: {
  39. duration: 200
  40. },
  41. data: {
  42. uidKey: 'id'
  43. },
  44. load: {
  45. dataset: dataset
  46. }
  47. });
  48. let promise = Promise.all([
  49. mixer.dataset([]),
  50. mixer.dataset(dataset),
  51. mixer.dataset([]),
  52. mixer.dataset(dataset),
  53. mixer.dataset([])
  54. ]);
  55. chai.assert.isFulfilled(promise);
  56. return promise;
  57. });
  58. });
  59. });