Skip to content

Commit 4db2d2f

Browse files
committed
fix: make the unit & integration tests work again
1 parent 989b305 commit 4db2d2f

File tree

6 files changed

+136
-235
lines changed

6 files changed

+136
-235
lines changed

babel.config.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
module.exports = { presets: ['@babel/preset-env'] };

jest.config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
module.exports = {
22
preset: 'ts-jest',
33
testEnvironment: 'node',
4-
testMatch: ['**/__tests__/?(*.)+(spec|test).ts'],
4+
testMatch: ['**/__tests__/?(*.)+(spec|test).(ts|js)'],
55
// transform: {},
66
// globalSetup: './playground/__tests__/setup-strapi.ts',
77
// setupFilesAfterEnv: ['./playground/__tests__/setup-strapi.ts'],

packages/core/server/services/__tests__/query-layer-decorator.test.ts renamed to packages/core/server/services/__tests__/query-layer-decorator.test.js

Lines changed: 93 additions & 77 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
import request from 'supertest';
2-
// @ts-ignore
3-
// eslint-disable-next-line import/no-relative-packages
41
import { setupStrapi, stopStrapi } from '../../../../../playground/tests/helpers';
52

63
// Higher timeout limit for slower machines
@@ -16,10 +13,14 @@ afterAll(async () => {
1613

1714
describe('Query layer decorator', () => {
1815
it('Create - Should generate a new URL alias', async () => {
19-
const page = await strapi.documents("api::test.test").create({
16+
let page = await strapi.documents('api::test.test').create({
2017
data: {
2118
title: 'Some amazing new page',
2219
},
20+
});
21+
22+
page = await strapi.documents('api::test.test').findOne({
23+
documentId: page.documentId,
2324
populate: ['url_alias'],
2425
});
2526

@@ -29,20 +30,24 @@ describe('Query layer decorator', () => {
2930
});
3031

3132
it('Create - Should re-generate a pre-created URL alias if generated is set to true', async () => {
32-
const alias = await strapi.documents("plugin::webtools.url-alias").create({
33+
const alias = await strapi.documents('plugin::webtools.url-alias').create({
3334
data: {
3435
url_path: '/generated-pre-created-path',
3536
generated: true,
3637
contenttype: 'api::test.test',
3738
},
3839
});
3940

40-
const page = await strapi.documents("api::test.test").create({
41+
let page = await strapi.documents('api::test.test').create({
4142
data: {
4243
title: 'Generated amazing new page',
43-
url_alias: alias.documentId,
44+
url_alias: [alias.documentId],
4445
},
45-
populate: ['url_alias']
46+
});
47+
48+
page = await strapi.documents('api::test.test').findOne({
49+
documentId: page.documentId,
50+
populate: ['url_alias'],
4651
});
4752

4853
expect(page).toHaveProperty('url_alias[0].documentId', alias.documentId);
@@ -52,20 +57,24 @@ describe('Query layer decorator', () => {
5257
});
5358

5459
it('Create - Should not re-generate a pre-created URL alias if generated is set to false', async () => {
55-
const alias = await strapi.documents("plugin::webtools.url-alias").create({
60+
const alias = await strapi.documents('plugin::webtools.url-alias').create({
5661
data: {
5762
url_path: '/pre-created-path',
5863
generated: false,
5964
contenttype: 'api::test.test',
6065
},
6166
});
6267

63-
const page = await strapi.documents("api::test.test").create({
68+
let page = await strapi.documents('api::test.test').create({
6469
data: {
6570
title: 'Some amazing new page',
66-
url_alias: alias.documentId,
71+
url_alias: [alias.documentId],
6772
},
68-
populate: ['url_alias']
73+
});
74+
75+
page = await strapi.documents('api::test.test').findOne({
76+
documentId: page.documentId,
77+
populate: ['url_alias'],
6978
});
7079

7180
expect(page).toHaveProperty('url_alias[0].documentId', alias.documentId);
@@ -74,24 +83,30 @@ describe('Query layer decorator', () => {
7483
});
7584

7685
it('Update - Should generate a new URL alias if none is present', async () => {
77-
const page = await strapi.documents("api::test.test").create({
86+
let page = await strapi.documents('api::test.test').create({
7887
data: {
7988
title: 'Some about to be updated new page',
8089
},
81-
populate: ['url_alias']
90+
});
91+
92+
page = await strapi.documents('api::test.test').findOne({
93+
documentId: page.documentId,
94+
populate: ['url_alias'],
8295
});
8396

8497
const oldAliasId = page.url_alias[0]?.documentId;
98+
99+
console.log('aa', oldAliasId);
100+
85101
// Delete the created url alias to make sure none is present
86102
// at the time of running the .update() query.
87-
await strapi.documents("plugin::webtools.url-alias").delete({
103+
await strapi.documents('plugin::webtools.url-alias').delete({
88104
documentId: oldAliasId,
89105
});
90106

91-
const updatedPage = await strapi.documents("api::test.test").update({
107+
const updatedPage = await strapi.documents('api::test.test').update({
92108
documentId: page.documentId,
93109
data: {
94-
// @ts-ignore
95110
title: 'Some updated page',
96111
},
97112
populate: ['url_alias']
@@ -104,23 +119,30 @@ describe('Query layer decorator', () => {
104119
});
105120

106121
it('Update - Should re-generate an existing URL alias if generated is set to true', async () => {
107-
const page = await strapi.documents("api::test.test").create({
122+
let page = await strapi.documents('api::test.test').create({
108123
data: {
109124
title: 'Some about to be updated new page',
110125
},
111-
populate: ['url_alias']
126+
});
127+
128+
page = await strapi.documents('api::test.test').findOne({
129+
documentId: page.documentId,
130+
populate: ['url_alias'],
112131
});
113132

114133
expect(page).toHaveProperty('url_alias[0].url_path', '/page/some-about-to-be-updated-new-page')
115134
expect(page).toHaveProperty('url_alias[0].generated', true);
116135

117-
const updatedPage = await strapi.documents("api::test.test").update({
136+
let updatedPage = await strapi.documents('api::test.test').update({
118137
documentId: page.documentId,
119138
data: {
120-
// @ts-ignore
121139
title: 'Some updated page with overwritten url alias',
122140
},
123-
populate: ['url_alias']
141+
});
142+
143+
updatedPage = await strapi.documents('api::test.test').findOne({
144+
documentId: page.documentId,
145+
populate: ['url_alias'],
124146
});
125147

126148
expect(updatedPage).toHaveProperty('url_alias[0].documentId', page.url_alias[0]?.documentId);
@@ -129,32 +151,39 @@ describe('Query layer decorator', () => {
129151
});
130152

131153
it('Update - Should not re-generate an existing URL alias if generated is set to false', async () => {
132-
const alias = await strapi.documents("plugin::webtools.url-alias").create({
154+
const alias = await strapi.documents('plugin::webtools.url-alias').create({
133155
data: {
134156
url_path: '/path-should-not-update',
135157
generated: false,
136158
contenttype: 'api::test.test',
137159
},
138160
});
139161

140-
const page = await strapi.documents("api::test.test").create({
162+
let page = await strapi.documents('api::test.test').create({
141163
data: {
142164
title: 'Some about to be updated new page',
143-
url_alias: alias.documentId,
165+
url_alias: [alias.documentId],
144166
},
145-
populate: ['url_alias']
167+
});
168+
169+
page = await strapi.documents('api::test.test').findOne({
170+
documentId: page.documentId,
171+
populate: ['url_alias'],
146172
});
147173

148174
expect(page).toHaveProperty('url_alias[0].url_path', '/path-should-not-update')
149175
expect(page).toHaveProperty('url_alias[0].generated', false);
150176

151-
const updatedPage = await strapi.documents("api::test.test").update({
177+
let updatedPage = await strapi.documents('api::test.test').update({
152178
documentId: page.documentId,
153179
data: {
154-
// @ts-ignore
155180
title: 'Some updated page',
156181
},
157-
populate: ['url_alias']
182+
});
183+
184+
updatedPage = await strapi.documents('api::test.test').findOne({
185+
documentId: page.documentId,
186+
populate: ['url_alias'],
158187
});
159188

160189
expect(updatedPage).toHaveProperty('url_alias[0].documentId', page.url_alias[0]?.documentId);
@@ -163,102 +192,89 @@ describe('Query layer decorator', () => {
163192
});
164193

165194
it('Update - Should not duplicate check the same entry when updated', async () => {
166-
const page = await strapi.documents("api::test.test").create({
195+
let page = await strapi.documents('api::test.test').create({
167196
data: {
168197
title: 'Unpublished page',
169198
},
170-
populate: ['url_alias']
199+
});
200+
201+
page = await strapi.documents('api::test.test').findOne({
202+
documentId: page.documentId,
203+
populate: ['url_alias'],
171204
});
172205

173206
const url = page.url_alias[0].url_path;
174207

175-
const updatedPage = await strapi.documents("api::test.test").update({
208+
let updatedPage = await strapi.documents('api::test.test').update({
176209
documentId: page.documentId,
177210
data: {
178-
// @ts-ignore
179211
published_at: new Date(),
180212
},
181-
populate: ['url_alias']
213+
});
214+
215+
updatedPage = await strapi.documents('api::test.test').findOne({
216+
documentId: page.documentId,
217+
populate: ['url_alias'],
182218
});
183219

184220
expect(updatedPage).toHaveProperty('url_alias[0].url_path', url);
185221
});
186222

187223
it('Delete - Should delete the corresponding URL alias as well', async () => {
188-
const page = await strapi.documents("api::test.test").create({
224+
let page = await strapi.documents('api::test.test').create({
189225
data: {
190226
title: 'Some about to be deleted new page',
191227
},
192-
populate: ['url_alias']
228+
});
229+
230+
page = await strapi.documents('api::test.test').findOne({
231+
documentId: page.documentId,
232+
populate: ['url_alias'],
193233
});
194234

195235
expect(page).toHaveProperty('url_alias[0].url_path', '/page/some-about-to-be-deleted-new-page')
196236
expect(page).toHaveProperty('url_alias[0].generated', true);
197237

198-
await strapi.documents("api::test.test").delete({
238+
await strapi.documents('api::test.test').delete({
199239
documentId: page.documentId,
200240
});
201241

202-
const alias = await strapi.documents("plugin::webtools.url-alias").findOne({
242+
const alias = await strapi.documents('plugin::webtools.url-alias').findOne({
203243
documentId: page.url_alias[0]?.documentId,
204244
});
205245

206246
expect(alias).toBeNull();
207247
});
208248

209249
it('Clone - Should create a new entity with a cloned URL alias', async () => {
210-
const page = await strapi.documents("api::test.test").create({
250+
let page = await strapi.documents('api::test.test').create({
211251
data: {
212252
title: 'Some page to clone',
213253
},
214-
populate: ['url_alias']
215254
});
216255

217-
const clonedPage = await strapi.documents("api::test.test").clone({
256+
page = await strapi.documents('api::test.test').findOne({
218257
documentId: page.documentId,
219258
populate: ['url_alias'],
220-
data: {},
221259
});
222260

223-
expect(clonedPage).not.toBeNull();
224-
225-
if (clonedPage) {
226-
const newUrlAliasPath = `${page.url_alias.url_path}-0`;
227-
expect(clonedPage).toHaveProperty('url_alias[0].url_path', newUrlAliasPath);
228-
expect(clonedPage).toHaveProperty('url_alias[0].generated', true);
229-
expect(clonedPage).toHaveProperty('url_alias[0].contenttype', 'api::test.test');
230-
expect(clonedPage.documentId).not.toBe(page.documentId);
231-
expect(clonedPage.url_alias.documentId).not.toBe(page.url_alias.documentId);
232-
}
233-
});
234-
235-
it('DeleteMany - Should delete multiple entities and their corresponding URL aliases', async () => {
236-
const page1 = await strapi.documents("api::test.test").create({
237-
data: {
238-
title: 'Page 1 to delete',
239-
},
240-
populate: ['url_alias']
241-
});
242-
243-
const page2 = await strapi.documents("api::test.test").create({
244-
data: {
245-
title: 'Page 2 to delete',
246-
},
247-
populate: ['url_alias']
261+
let clonedPage = await strapi.documents('api::test.test').clone({
262+
documentId: page.documentId,
263+
data: {},
248264
});
249265

250-
await strapi.db.query("api::test.test").deleteMany({
251-
where: { id: { $in: [page1.documentId, page2.documentId] } }
266+
clonedPage = await strapi.documents('api::test.test').findOne({
267+
documentId: clonedPage.documentId,
268+
populate: ['url_alias'],
252269
});
253270

254-
const alias1 = await strapi.documents("plugin::webtools.url-alias").findOne({
255-
documentId: page1.url_alias[0]?.documentId,
256-
});
257-
const alias2 = await strapi.documents("plugin::webtools.url-alias").findOne({
258-
documentId: page2.url_alias[0]?.documentId,
259-
});
271+
expect(clonedPage).not.toBeNull();
260272

261-
expect(alias1).toBeNull();
262-
expect(alias2).toBeNull();
273+
const newUrlAliasPath = `${page.url_alias[0].url_path}-0`;
274+
expect(clonedPage).toHaveProperty('url_alias[0].url_path', newUrlAliasPath);
275+
expect(clonedPage).toHaveProperty('url_alias[0].generated', true);
276+
expect(clonedPage).toHaveProperty('url_alias[0].contenttype', 'api::test.test');
277+
expect(clonedPage.documentId).not.toBe(page.documentId);
278+
expect(clonedPage.url_alias[0].documentId).not.toBe(page.url_alias[0].documentId);
263279
});
264280
});

0 commit comments

Comments
 (0)