diff --git a/api-tests/core/content-manager/content-manager/configuration.test.api.js b/api-tests/core/content-manager/content-manager/configuration.test.api.js index 8ca8b151a2..2bdbc1a435 100644 --- a/api-tests/core/content-manager/content-manager/configuration.test.api.js +++ b/api-tests/core/content-manager/content-manager/configuration.test.api.js @@ -1,6 +1,7 @@ 'use strict'; // Helpers. +const { set } = require('lodash/fp'); const { createTestBuilder } = require('api-tests/builder'); const { createStrapiInstance } = require('api-tests/strapi'); const form = require('api-tests/generators'); @@ -16,9 +17,16 @@ const restart = async () => { rq = await createAuthRequest({ strapi }); }; +// Set a new attribute to form.article +const ct = set('attributes.nonVisible', { + type: 'string', + visible: false, + writable: true, +})(form.article); + describe('Content Manager - Configuration', () => { beforeAll(async () => { - await builder.addContentTypes([form.article]).build(); + await builder.addContentTypes([ct]).build(); strapi = await createStrapiInstance(); rq = await createAuthRequest({ strapi }); @@ -148,4 +156,24 @@ describe('Content Manager - Configuration', () => { ]); expect(body.data.contentType.layouts.list).toStrictEqual(['id', 'title', 'author']); }); + + test('Update list non visible attribute as default sort', async () => { + // Get current config + const { body } = await rq({ + url: '/content-manager/content-types/api::article.article/configuration', + method: 'GET', + }); + + // set default sort + const configuration = set('contentType.settings.defaultSortBy', 'nonVisible', body.data); + + const res = await rq({ + url: '/content-manager/content-types/api::article.article/configuration', + method: 'PUT', + body: { settings: configuration.contentType.settings }, + }); + + expect(res.statusCode).toBe(200); + expect(res.body.data.contentType.settings.defaultSortBy).toBe('nonVisible'); + }); });