File size: 1,132 Bytes
da96562
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*!
 * Matomo - free/libre analytics platform
 *
 * @link    https://matomo.org
 * @license https://www.gnu.org/licenses/gpl-3.0.html GPL v3 or later
 */

import { isBooleanLikeSet, resolveExportSupportsFlat } from './DataTableActions.utils';

describe('CoreHome/DataTableActions.utils', () => {
  describe('isBooleanLikeSet', () => {
    it.each([
      [true, true],
      [1, true],
      ['1', true],
      [false, false],
      [0, false],
      ['0', false],
    ])('returns %s => %s', (value: number|string|boolean, expected: boolean) => {
      expect(isBooleanLikeSet(value)).toBe(expected);
    });
  });

  describe('resolveExportSupportsFlat', () => {
    it('keeps flat export available when the report supports flattening', () => {
      expect(resolveExportSupportsFlat(true, 0)).toBe(true);
    });

    it('keeps flat export available when the table is already flat', () => {
      expect(resolveExportSupportsFlat(false, 1)).toBe(true);
    });

    it('disables flat export when neither report nor table state supports it', () => {
      expect(resolveExportSupportsFlat(false, 0)).toBe(false);
    });
  });
});