api-mocks-test.js 2.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. import { updateObjProps, paginatedJSON } from '../../helpers/api-mocks';
  2. import { module, test } from 'qunit';
  3. module('api-mocks');
  4. test('updateObjProps updates obj props', function(assert) {
  5. assert.expect(4);
  6. var testObj = { a: 123, b: { c: 123} };
  7. assert.equal(updateObjProps(testObj).a, 123);
  8. assert.ok(updateObjProps(testObj) !== testObj);
  9. assert.equal(updateObjProps(testObj, { b: 'test' }).a, 123);
  10. assert.equal(updateObjProps(testObj, { b: 'test' }).b, 'test');
  11. });
  12. test('paginatedJSON turns array into pagination response', function(assert) {
  13. assert.expect(49);
  14. var results = ['a', 'b', 'c', 'd', 'e', 'f'];
  15. assert.equal(paginatedJSON(results).results, results);
  16. var pagination = paginatedJSON(results, 12, 1, 8, 4);
  17. assert.equal(pagination.count, 12);
  18. assert.equal(pagination.pages, 1);
  19. assert.equal(pagination.next, null);
  20. assert.equal(pagination.last, null);
  21. assert.equal(pagination.previous, null);
  22. assert.equal(pagination.first, null);
  23. assert.equal(pagination.before, 0);
  24. assert.equal(pagination.more, 0);
  25. pagination = paginatedJSON(results, 20, 1, 8, 4);
  26. assert.equal(pagination.count, 20);
  27. assert.equal(pagination.pages, 2);
  28. assert.equal(pagination.next, null);
  29. assert.equal(pagination.last, 2);
  30. assert.equal(pagination.previous, null);
  31. assert.equal(pagination.first, null);
  32. assert.equal(pagination.before, 0);
  33. assert.equal(pagination.more, 12);
  34. pagination = paginatedJSON(results, 20, 2, 8, 4);
  35. assert.equal(pagination.count, 20);
  36. assert.equal(pagination.pages, 2);
  37. assert.equal(pagination.next, null);
  38. assert.equal(pagination.last, null);
  39. assert.equal(pagination.previous, null);
  40. assert.equal(pagination.first, 1);
  41. assert.equal(pagination.before, 8);
  42. assert.equal(pagination.more, 0);
  43. pagination = paginatedJSON(results, 30, 2, 8, 4);
  44. assert.equal(pagination.count, 30);
  45. assert.equal(pagination.pages, 4);
  46. assert.equal(pagination.next, 3);
  47. assert.equal(pagination.last, 4);
  48. assert.equal(pagination.previous, null);
  49. assert.equal(pagination.first, 1);
  50. assert.equal(pagination.before, 8);
  51. assert.equal(pagination.more, 14);
  52. pagination = paginatedJSON(results, 30, 3, 8, 4);
  53. assert.equal(pagination.count, 30);
  54. assert.equal(pagination.pages, 4);
  55. assert.equal(pagination.next, null);
  56. assert.equal(pagination.last, 4);
  57. assert.equal(pagination.previous, 2);
  58. assert.equal(pagination.first, 1);
  59. assert.equal(pagination.before, 16);
  60. assert.equal(pagination.more, 6);
  61. pagination = paginatedJSON(results, 20, 3, 6, 2);
  62. assert.equal(pagination.count, 20);
  63. assert.equal(pagination.pages, 3);
  64. assert.equal(pagination.next, null);
  65. assert.equal(pagination.last, null);
  66. assert.equal(pagination.previous, 2);
  67. assert.equal(pagination.first, 1);
  68. assert.equal(pagination.before, 12);
  69. assert.equal(pagination.more, 0);
  70. });