Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /usr/local/lib/node_modules/strapi/lib/core-api/__tests__/ drwxr-xr-x | |
| Viewing file: Select action/file-type: 'use strict';
const createService = require('../service');
describe('Default Service', () => {
describe('Collection Type', () => {
test('Creates default actions', () => {
const strapi = {};
const model = {
modelName: 'testModel',
kind: 'collectionType',
};
const service = createService({ strapi, model });
expect(service).toEqual({
find: expect.any(Function),
findOne: expect.any(Function),
count: expect.any(Function),
search: expect.any(Function),
countSearch: expect.any(Function),
create: expect.any(Function),
update: expect.any(Function),
delete: expect.any(Function),
});
});
});
describe('Single Type', () => {
test('Creates default actions', () => {
const strapi = {};
const model = {
modelName: 'testModel',
kind: 'singleType',
};
const service = createService({ strapi, model });
expect(service).toEqual({
find: expect.any(Function),
createOrUpdate: expect.any(Function),
delete: expect.any(Function),
});
});
describe('Passes the logic down to the entityService', () => {
test('Creates data when no entity is found', async () => {
const strapi = {
entityService: {
find: jest.fn(() => Promise.resolve(null)),
create: jest.fn(() => Promise.resolve({ id: 1 })),
},
};
const model = {
modelName: 'testModel',
kind: 'singleType',
};
const service = createService({ strapi, model });
const input = {};
await service.createOrUpdate(input);
expect(strapi.entityService.find).toHaveBeenCalledWith(
{ populate: undefined },
{
model: 'testModel',
}
);
expect(strapi.entityService.create).toHaveBeenCalledWith(
{ data: input },
{
model: 'testModel',
}
);
});
test('Updates data when entity is found', async () => {
const strapi = {
entityService: {
find: jest.fn(() => Promise.resolve({ id: 1 })),
update: jest.fn(() => Promise.resolve({ id: 1 })),
},
};
const model = {
modelName: 'testModel',
kind: 'singleType',
};
const service = createService({ strapi, model });
const input = {};
await service.createOrUpdate(input);
expect(strapi.entityService.find).toHaveBeenCalledWith(
{ populate: undefined },
{
model: 'testModel',
}
);
expect(strapi.entityService.update).toHaveBeenCalledWith(
{
params: { id: 1 },
data: input,
},
{
model: 'testModel',
}
);
});
test('Delete data when entity is found', async () => {
const strapi = {
entityService: {
find: jest.fn(() => Promise.resolve({ id: 1 })),
delete: jest.fn(() => Promise.resolve({ id: 1 })),
},
};
const model = {
modelName: 'testModel',
kind: 'singleType',
};
const service = createService({ strapi, model });
await service.delete();
expect(strapi.entityService.find).toHaveBeenCalledWith(
{ populate: undefined },
{
model: 'testModel',
}
);
expect(strapi.entityService.delete).toHaveBeenCalledWith(
{
params: { id: 1 },
},
{
model: 'testModel',
}
);
});
});
});
});
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0043 ]-- |