mirror of
https://github.com/strapi/strapi.git
synced 2025-07-18 14:32:56 +00:00
68 lines
1.8 KiB
JavaScript
68 lines
1.8 KiB
JavaScript
'use strict';
|
|
|
|
const dataLoaders = require('../data-loaders');
|
|
|
|
describe('dataloader', () => {
|
|
describe('serializeKey', () => {
|
|
test('Serializes objects to json', () => {
|
|
expect(dataLoaders.serializeKey(1928)).toBe(1928);
|
|
expect(dataLoaders.serializeKey('test')).toBe('test');
|
|
expect(dataLoaders.serializeKey([1, 2, 3])).toBe('[1,2,3]');
|
|
expect(dataLoaders.serializeKey({ foo: 'bar' })).toBe('{"foo":"bar"}');
|
|
expect(dataLoaders.serializeKey({ foo: 'bar', nested: { bar: 'foo' } })).toBe(
|
|
'{"foo":"bar","nested":{"bar":"foo"}}'
|
|
);
|
|
});
|
|
});
|
|
|
|
describe('makeQuery', () => {
|
|
test('makeQuery single calls findOne', async () => {
|
|
const uid = 'uid';
|
|
const findOne = jest.fn(() => ({ id: 1 }));
|
|
const filters = { _limit: 5 };
|
|
|
|
global.strapi = {
|
|
query() {
|
|
return { findOne };
|
|
},
|
|
};
|
|
|
|
await dataLoaders.makeQuery(uid, { single: true, filters });
|
|
|
|
expect(findOne).toHaveBeenCalledWith(filters, []);
|
|
});
|
|
|
|
test('makeQuery calls find', async () => {
|
|
const uid = 'uid';
|
|
const find = jest.fn(() => [{ id: 1 }]);
|
|
const filters = { limit: 5, sort: 'field' };
|
|
|
|
global.strapi = {
|
|
query() {
|
|
return { find };
|
|
},
|
|
};
|
|
|
|
await dataLoaders.makeQuery(uid, { filters });
|
|
|
|
expect(find).toHaveBeenCalledWith(filters, []);
|
|
});
|
|
|
|
test('makeQuery disables populate to optimize fetching a bit', async () => {
|
|
const uid = 'uid';
|
|
const find = jest.fn(() => [{ id: 1 }]);
|
|
const filters = { _limit: 5 };
|
|
|
|
global.strapi = {
|
|
query() {
|
|
return { find };
|
|
},
|
|
};
|
|
|
|
await dataLoaders.makeQuery(uid, { filters });
|
|
|
|
expect(find).toHaveBeenCalledWith(filters, []);
|
|
});
|
|
});
|
|
});
|