diff --git a/packages/core/admin/server/controllers/api-token.js b/packages/core/admin/server/controllers/api-token.js index 7c5d8b30ed..d99576d137 100644 --- a/packages/core/admin/server/controllers/api-token.js +++ b/packages/core/admin/server/controllers/api-token.js @@ -14,7 +14,7 @@ module.exports = { return ctx.badRequest('ValidationError', err); } - if (apiTokenService.exists({ name: attributes.name })) { + if (await apiTokenService.exists({ name: attributes.name })) { return ctx.badRequest('Name already taken'); } diff --git a/packages/core/admin/server/services/api-token.js b/packages/core/admin/server/services/api-token.js index 843bec2fb8..5d44b7c56f 100644 --- a/packages/core/admin/server/services/api-token.js +++ b/packages/core/admin/server/services/api-token.js @@ -7,10 +7,10 @@ const crypto = require('crypto'); * @param {string} attributes.name * @param {string} [attributes.description] * - * @returns boolean + * @returns Promise */ -const exists = (attributes = {}) => { - return strapi.query('strapi::api-token').count({ where: attributes }) > 0; +const exists = async (attributes = {}) => { + return (await strapi.query('strapi::api-token').count({ where: attributes })) > 0; }; /** diff --git a/packages/core/admin/server/tests/admin-api-token.test.e2e.js b/packages/core/admin/server/tests/admin-api-token.test.e2e.js index 8c47f1db1a..5ab3a3292d 100644 --- a/packages/core/admin/server/tests/admin-api-token.test.e2e.js +++ b/packages/core/admin/server/tests/admin-api-token.test.e2e.js @@ -65,7 +65,7 @@ describe('Admin API Token CRUD (e2e)', () => { expect(res.statusCode).toBe(201); expect(res.body.data).not.toBeNull(); - expect(res.body.data.id).toBeDefined(); + expect(res.body.data.id).toBe(1); expect(res.body.data.accessKey).toBeDefined(); expect(res.body.data.name).toBe(body.name); expect(res.body.data.description).toBe(body.description); @@ -74,7 +74,7 @@ describe('Admin API Token CRUD (e2e)', () => { test('3. Creates an api token without a description (successfully)', async () => { const body = { - name: 'api-token_tests-name', + name: 'api-token_tests-name-without-description', type: 'read-only', }; @@ -86,7 +86,7 @@ describe('Admin API Token CRUD (e2e)', () => { expect(res.statusCode).toBe(201); expect(res.body.data).not.toBeNull(); - expect(res.body.data.id).toBeDefined(); + expect(res.body.data.id).toBe(2); expect(res.body.data.accessKey).toBeDefined(); expect(res.body.data.name).toBe(body.name); expect(res.body.data.description).toBe('');