• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

IgniteUI / igniteui-angular / 6797384210

08 Nov 2023 11:09AM UTC coverage: 91.853% (-0.3%) from 92.123%
6797384210

push

github

web-flow
Merge pull request #13613 from IgniteUI/mkirova/fix-empty-pivot

fix(igxPivotGrid): Add check in case data is empty due to removing al…

12459 of 14514 branches covered (0.0%)

1 of 1 new or added line in 1 file covered. (100.0%)

2127 existing lines in 217 files now uncovered.

25413 of 27667 relevant lines covered (91.85%)

31122.38 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

82.05
/projects/igniteui-angular/src/lib/data-operations/test-util/data-generator.ts
1
import { GridColumnDataType } from '../data-util';
2

3
/**
4
 * @hidden
5
 */
6
const COUNT_ROWS = 5;
2✔
7

8
/**
9
 * @hidden
10
 */
11
const COUNT_COLS = 4;
2✔
12

13
/**
14
 * @hidden
15
 */
16
export interface IDataColumn {
17
    fieldName: string;
18
    type: GridColumnDataType;
19
}
20

21
/**
22
 * @hidden
23
 */
24
export class DataGenerator {
25
    public columns: IDataColumn[] = [];
60✔
26
    public data: any[] = [];
60✔
27
    constructor(countRows = COUNT_ROWS, countCols = COUNT_COLS) {
120✔
28
        this.columns = this.generateColumns(countCols);
60✔
29
        this.data = this.generateData(countRows);
60✔
30
    }
31
    public generateArray(startValue, endValue) {
32
        const len = Math.abs(startValue - endValue);
3✔
33
        const decrement = startValue > endValue;
3✔
34
        return Array.from({ length: len + 1 }, (e, i) => decrement ? startValue - i : startValue + i);
15✔
35
    }
36
    public getValuesForColumn(data, fieldName) {
37
        return data.map((x) => x[fieldName]);
120✔
38
    }
39
    public getGroupRecords(data) {
40
        return data.map((x) => x['groupParent']);
19✔
41
    }
42
    public isSuperset(haystack, arr) {
UNCOV
43
        return arr.every((val) => haystack.indexOf(val) >= 0);
×
44
    }
45
    private generateColumns(countCols): IDataColumn[] {
46
        let i: number;
47
        const defaultColumns: IDataColumn[] = [
60✔
48
            {
49
                fieldName: 'number',
50
                type: GridColumnDataType.Number
51
            },
52
            {
53
                fieldName: 'string',
54
                type: GridColumnDataType.String
55
            },
56
            {
57
                fieldName: 'date',
58
                type: GridColumnDataType.Date
59
            },
60
            {
61
                fieldName: 'boolean',
62
                type: GridColumnDataType.Boolean
63
            }
64
        ];
65
        if (countCols <= 0) {
60!
UNCOV
66
            return defaultColumns;
×
67
        }
68
        if (countCols <= defaultColumns.length) {
60✔
69
            return defaultColumns.slice(0, countCols);
60✔
70
        }
UNCOV
71
        const len = countCols - defaultColumns.length;
×
UNCOV
72
        const res = defaultColumns;
×
UNCOV
73
        for (i = 0; i < len; i++) {
×
UNCOV
74
            res.push({
×
75
                fieldName: `col${i}`,
76
                type: GridColumnDataType.String
77
            });
78
        }
UNCOV
79
        return res;
×
80
    }
81
    private generateData(countRows: number) {
82
        let i;
83
        let j;
84
        let rec;
85
        let val;
86
        let col;
87
        const data = [];
60✔
88
        for (i = 0; i < countRows; i++) {
60✔
89
            rec = {};
300✔
90
            for (j = 0; j < this.columns.length; j++) {
300✔
91
                col = this.columns[j];
1,200✔
92
                switch (col.type) {
1,200✔
93
                    case GridColumnDataType.Number:
94
                        val = i;
300✔
95
                        break;
300✔
96
                    case GridColumnDataType.Date:
97
                        val = new Date(Date.now() + i * 24 * 60 * 60 * 1000);
300✔
98
                        break;
300✔
99
                    case GridColumnDataType.Boolean:
100
                        val = !!(i % 2);
300✔
101
                        break;
300✔
102
                    default:
103
                        val = `row${i}, col${j}`;
300✔
104
                        break;
300✔
105
                }
106
                rec[col.fieldName] = val;
1,200✔
107
            }
108
            data.push(rec);
300✔
109
        }
110
        return data;
60✔
111
    }
112
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc