Skip to content

Commit

Permalink
test(added more tests): added more tests
Browse files Browse the repository at this point in the history
  • Loading branch information
Conglei Shi authored and zhaoyongjie committed Nov 26, 2021
1 parent 02b9772 commit 18dfc53
Show file tree
Hide file tree
Showing 3 changed files with 109 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
import 'babel-polyfill';
import buildQuery from '../src/buildQuery';

describe('TableVis buildQuery', () => {
const formData = {
datasource: '5__table',
granularity_sqla: 'ds',
series: 'foo',
viz_type: 'table',
all_columns: ['a', 'b', 'c'],
percent_metrics: ['a'],
include_time: false,
order_by_cols: [],
};

it('should build groupby with series in form data', () => {
const queryContext = buildQuery(formData);
const [query] = queryContext.queries;
expect(query.metrics[0].label).toEqual('a');
expect(query.groupby).toHaveLength(0);
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
import processData from '../src/processData';

describe('processData', () => {
const timeseriesLimitMetric = 'a';
const orderDesc = true;
const records = [
{
a: 1,
b: 1,
c: 3,
},
{
a: 2,
b: 1,
c: 2,
},
{
a: 3,
b: 1,
c: 1,
},
];
const metrics = ['a', 'b', 'c'];

it('returns sorted result', () => {
const result = processData({
timeseriesLimitMetric,
orderDesc,
records,
metrics,
});
const maxValue = Math.max(...records.map(r => r[timeseriesLimitMetric]));
const minValue = Math.min(...records.map(r => r[timeseriesLimitMetric]));
expect(result[0].data[timeseriesLimitMetric]).toEqual(maxValue);
expect(result[result.length - 1].data[timeseriesLimitMetric]).toEqual(minValue);
});

it('removes the timeseriesLimitMetric column if it is not included in metrics', () => {
const filteredMetrics = metrics.filter(metric => metric !== timeseriesLimitMetric);
const result = processData({
timeseriesLimitMetric,
orderDesc,
records,
metrics: filteredMetrics,
});
result.forEach(row => {
expect(row.data).toEqual(
expect.not.objectContaining({
[timeseriesLimitMetric]: expect(Number),
}),
);
});
});
});
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
import processMetrics from '../src/processMetrics';

describe('processData', () => {
const records = [
{
a: 1,
'%b': 0.4,
c: 3,
},
{
a: 2,
'%b': 0.4,
c: 2,
},
{
a: 3,
'%b': 0.2,
c: 1,
},
];
const metrics = ['a'];
const percentMetrics = ['b'];

it('returns sorted result', () => {
const result = processMetrics({
records,
metrics,
percentMetrics,
});
const expected = ['a', '%b'];
expect(result).toEqual(expect.arrayContaining(expected));
});
});

0 comments on commit 18dfc53

Please sign in to comment.