mirror of
https://github.com/strapi/strapi.git
synced 2025-09-01 12:53:03 +00:00
test: non visible attributes can be filtered by
This commit is contained in:
parent
0a20858700
commit
8b17c0ded6
112
api-tests/core/content-manager/fields/non-visible.test.api.js
Normal file
112
api-tests/core/content-manager/fields/non-visible.test.api.js
Normal file
@ -0,0 +1,112 @@
|
||||
/**
|
||||
* This test will use non visible fields and validate they can be filtered and sorted by
|
||||
*/
|
||||
|
||||
'use strict';
|
||||
|
||||
const { createTestBuilder } = require('api-tests/builder');
|
||||
const { createStrapiInstance } = require('api-tests/strapi');
|
||||
const { createAuthRequest } = require('api-tests/request');
|
||||
const { createUtils } = require('api-tests/utils');
|
||||
|
||||
const builder = createTestBuilder();
|
||||
|
||||
const ct = {
|
||||
displayName: 'nonvisible',
|
||||
singularName: 'nonvisible',
|
||||
pluralName: 'nonvisibles',
|
||||
attributes: {
|
||||
field: {
|
||||
type: 'string',
|
||||
visible: false,
|
||||
writable: true,
|
||||
},
|
||||
name: {
|
||||
type: 'string',
|
||||
},
|
||||
},
|
||||
};
|
||||
|
||||
let rq1;
|
||||
let rq2;
|
||||
let user1;
|
||||
let user2;
|
||||
let strapi;
|
||||
let utils;
|
||||
|
||||
const createEntry = async (data) => {
|
||||
return strapi.entityService.create('api::nonvisible.nonvisible', {
|
||||
data,
|
||||
});
|
||||
};
|
||||
|
||||
/**
|
||||
* == Test Suite Overview ==
|
||||
*
|
||||
* N° Description
|
||||
* -------------------------------------------
|
||||
* 1. Filters by non visible field (successfully)
|
||||
* 2. Filters by created_by (successfully)
|
||||
* 3. Filters by updated_by (successfully)
|
||||
*/
|
||||
|
||||
describe('Test type decimal', () => {
|
||||
beforeAll(async () => {
|
||||
await builder.addContentType(ct).build();
|
||||
|
||||
strapi = await createStrapiInstance();
|
||||
utils = createUtils(strapi);
|
||||
|
||||
const userInfo = {
|
||||
email: 'test@strapi.io',
|
||||
firstname: 'test',
|
||||
lastname: 'strapi',
|
||||
registrationToken: 'foobar',
|
||||
roles: [await utils.getSuperAdminRole()],
|
||||
};
|
||||
|
||||
user1 = await utils.createUser(userInfo);
|
||||
user2 = await utils.createUser({ ...userInfo, email: 'test2@strapi.io' });
|
||||
|
||||
rq1 = await createAuthRequest({ strapi, userInfo: user1 });
|
||||
rq2 = await createAuthRequest({ strapi, userInfo: user2 });
|
||||
|
||||
await createEntry({ field: 'entry1', createdBy: user1.id, updatedBy: user1.id });
|
||||
await createEntry({ field: 'entry2', createdBy: user2.id, updatedBy: user2.id });
|
||||
});
|
||||
|
||||
afterAll(async () => {
|
||||
await strapi.destroy();
|
||||
await builder.cleanup();
|
||||
});
|
||||
|
||||
test('User can filter by non visible and writable fields ', async () => {
|
||||
const res = await rq1.get(
|
||||
`/content-manager/collection-types/api::nonvisible.nonvisible?filters[field][$eq]=entry1`
|
||||
);
|
||||
|
||||
expect(res.statusCode).toBe(200);
|
||||
expect(res.body.results.length).toBe(1);
|
||||
expect(res.body.results[0].field).toBe('entry1');
|
||||
});
|
||||
|
||||
test('User can filter by createdBy field ', async () => {
|
||||
const res = await rq1.get(
|
||||
`/content-manager/collection-types/api::nonvisible.nonvisible?filters[createdBy][id][$eq]=${user1.id}`
|
||||
);
|
||||
|
||||
expect(res.statusCode).toBe(200);
|
||||
expect(res.body.results.length).toBe(1);
|
||||
expect(res.body.results[0].createdBy.id).toBe(user1.id);
|
||||
});
|
||||
|
||||
test('User can filter by updatedBy field ', async () => {
|
||||
const res = await rq1.get(
|
||||
`/content-manager/collection-types/api::nonvisible.nonvisible?filters[updatedBy][id][$eq]=${user1.id}`
|
||||
);
|
||||
|
||||
expect(res.statusCode).toBe(200);
|
||||
expect(res.body.results.length).toBe(1);
|
||||
expect(res.body.results[0].updatedBy.id).toBe(user1.id);
|
||||
});
|
||||
});
|
Loading…
x
Reference in New Issue
Block a user