renderer_specs.ts 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. import {describe, beforeEach, it, sinon, expect} from 'test/lib/common';
  2. import TableModel from 'app/core/table_model';
  3. import {TableRenderer} from '../renderer';
  4. describe('when rendering table', () => {
  5. describe('given 2 columns', () => {
  6. var table = new TableModel();
  7. table.columns = [
  8. {text: 'Time'},
  9. {text: 'Value'},
  10. {text: 'Colored'},
  11. {text: 'Undefined'},
  12. ];
  13. var panel = {
  14. pageSize: 10,
  15. styles: [
  16. {
  17. pattern: 'Time',
  18. type: 'date',
  19. format: 'LLL'
  20. },
  21. {
  22. pattern: 'Value',
  23. type: 'number',
  24. unit: 'ms',
  25. decimals: 3,
  26. },
  27. {
  28. pattern: 'Colored',
  29. type: 'number',
  30. unit: 'none',
  31. decimals: 1,
  32. colorMode: 'value',
  33. thresholds: [50, 80],
  34. colors: ['green', 'orange', 'red']
  35. }
  36. ]
  37. };
  38. var renderer = new TableRenderer(panel, table, 'utc');
  39. it('time column should be formated', () => {
  40. var html = renderer.renderCell(0, 1388556366666);
  41. expect(html).to.be('<td>2014-01-01T06:06:06+00:00</td>');
  42. });
  43. it('number column should be formated', () => {
  44. var html = renderer.renderCell(1, 1230);
  45. expect(html).to.be('<td>1.230 s</td>');
  46. });
  47. it('number style should ignore string values', () => {
  48. var html = renderer.renderCell(1, 'asd');
  49. expect(html).to.be('<td>asd</td>');
  50. });
  51. it('colored cell should have style', () => {
  52. var html = renderer.renderCell(2, 40);
  53. expect(html).to.be('<td style="color:green">40.0</td>');
  54. });
  55. it('colored cell should have style', () => {
  56. var html = renderer.renderCell(2, 55);
  57. expect(html).to.be('<td style="color:orange">55.0</td>');
  58. });
  59. it('colored cell should have style', () => {
  60. var html = renderer.renderCell(2, 85);
  61. expect(html).to.be('<td style="color:red">85.0</td>');
  62. });
  63. it('unformated undefined should be rendered as -', () => {
  64. var html = renderer.renderCell(3, undefined);
  65. expect(html).to.be('<td></td>');
  66. });
  67. });
  68. });