mirror of
https://github.com/strapi/strapi.git
synced 2025-11-10 23:29:33 +00:00
78 lines
1.8 KiB
JavaScript
78 lines
1.8 KiB
JavaScript
'use strict';
|
|
|
|
const metricsService = require('../metrics');
|
|
|
|
describe('metrics', () => {
|
|
describe('sendDidConfigureListView', () => {
|
|
const contentType = {
|
|
associations: [
|
|
{
|
|
alias: 'field1',
|
|
nature: 'oneToMany',
|
|
},
|
|
{
|
|
alias: 'field2',
|
|
nature: 'manyToMany',
|
|
},
|
|
{
|
|
alias: 'field3',
|
|
nature: 'manyWay',
|
|
},
|
|
{
|
|
alias: 'field4',
|
|
nature: 'manyToOne',
|
|
},
|
|
{
|
|
alias: 'field5',
|
|
nature: 'oneWay',
|
|
},
|
|
{
|
|
alias: 'field6',
|
|
nature: 'oneToOne',
|
|
},
|
|
],
|
|
};
|
|
|
|
const testData = [
|
|
[['fieldA'], [false]],
|
|
[['fieldA', 'fieldB'], [false]],
|
|
[
|
|
['fieldA', 'field1'],
|
|
[true, 2, 1],
|
|
],
|
|
[
|
|
['field1', 'field2'],
|
|
[true, 2, 2],
|
|
],
|
|
[['field1'], [true, 1, 1]],
|
|
[
|
|
['fieldA', 'fieldB', 'field1', 'field2'],
|
|
[true, 4, 2],
|
|
],
|
|
[
|
|
['fieldA', 'fieldB', 'field3', 'field4'],
|
|
[true, 4, 2],
|
|
],
|
|
[
|
|
['fieldA', 'fieldB', 'field5', 'field6'],
|
|
[true, 4, 2],
|
|
],
|
|
];
|
|
|
|
test.each(testData)('%s', async (list, expectedResult) => {
|
|
const send = jest.fn(() => Promise.resolve());
|
|
global.strapi = { telemetry: { send } };
|
|
const [containsRelationalFields, displayedFields, displayedRelationalFields] = expectedResult;
|
|
|
|
await metricsService.sendDidConfigureListView(contentType, { layouts: { list } });
|
|
|
|
expect(send).toHaveBeenCalledTimes(1);
|
|
expect(send).toHaveBeenCalledWith('didConfigureListView', {
|
|
displayedFields,
|
|
containsRelationalFields,
|
|
displayedRelationalFields,
|
|
});
|
|
});
|
|
});
|
|
});
|