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/__tests__/ drwxr-xr-x | |
| Viewing file: Select action/file-type: // Test a simple default API with no relations
const { registerAndLogin } = require('../../../test/helpers/auth');
const createModelsUtils = require('../../../test/helpers/models');
const { createAuthRequest } = require('../../../test/helpers/request');
let rq;
let modelsUtils;
let data = {
products: [],
};
const product = {
attributes: {
name: {
type: 'string',
},
description: {
type: 'text',
},
},
connection: 'default',
name: 'product',
description: '',
collectionName: '',
};
describe('Simple API', () => {
beforeAll(async () => {
const token = await registerAndLogin();
rq = createAuthRequest(token);
modelsUtils = createModelsUtils({ rq });
await modelsUtils.createContentTypes([product]);
}, 60000);
afterAll(() => modelsUtils.deleteContentTypes(['product']), 60000);
test('Create Products', async () => {
const product = {
name: 'Product 1',
description: 'Product description',
};
const res = await rq({
method: 'POST',
url: '/products',
body: product,
});
expect(res.statusCode).toBe(200);
expect(res.body).toMatchObject(product);
data.products.push(res.body);
});
test('Read Products', async () => {
const res = await rq({
method: 'GET',
url: '/products',
});
expect(res.statusCode).toBe(200);
expect(Array.isArray(res.body)).toBe(true);
expect(res.body).toEqual(
expect.arrayContaining([
expect.objectContaining({
name: 'Product 1',
description: 'Product description',
}),
])
);
});
test('Update Products', async () => {
const product = {
name: 'Product 1 updated',
description: 'Updated Product description',
};
const res = await rq({
method: 'PUT',
url: `/products/${data.products[0].id}`,
body: product,
});
expect(res.statusCode).toBe(200);
expect(res.body).toMatchObject(product);
expect(res.body.id).toEqual(data.products[0].id);
});
test('Delete Products', async () => {
const res = await rq({
method: 'DELETE',
url: `/products/${data.products[0].id}`,
});
expect(res.statusCode).toBe(200);
});
});
|
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.0044 ]-- |