table_model_specs.ts 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. import {describe, beforeEach, it, sinon, expect} from 'test/lib/common';
  2. import TableModel = require('app/core/table_model');
  3. describe('when sorting table desc', () => {
  4. var table;
  5. var panel = {
  6. sort: {col: 0, desc: true},
  7. };
  8. beforeEach(() => {
  9. table = new TableModel();
  10. table.columns = [{}, {}];
  11. table.rows = [[100, 12], [105, 10], [103, 11]];
  12. table.sort(panel.sort);
  13. });
  14. it('should sort by time', () => {
  15. expect(table.rows[0][0]).to.be(105);
  16. expect(table.rows[1][0]).to.be(103);
  17. expect(table.rows[2][0]).to.be(100);
  18. });
  19. it ('should mark column being sorted', () => {
  20. expect(table.columns[0].sort).to.be(true);
  21. expect(table.columns[0].desc).to.be(true);
  22. });
  23. });
  24. describe('when sorting table asc', () => {
  25. var table;
  26. var panel = {
  27. sort: {col: 1, desc: false},
  28. };
  29. beforeEach(() => {
  30. table = new TableModel();
  31. table.columns = [{}, {}];
  32. table.rows = [[100, 11], [105, 15], [103, 10]];
  33. table.sort(panel.sort);
  34. });
  35. it('should sort by time', () => {
  36. expect(table.rows[0][1]).to.be(10);
  37. expect(table.rows[1][1]).to.be(11);
  38. expect(table.rows[2][1]).to.be(15);
  39. });
  40. });