From 9c6af860d4cb47ca29c14f65aab3414c4b44859e Mon Sep 17 00:00:00 2001 From: Elliot DeNolf Date: Sat, 2 Apr 2022 23:34:46 -0400 Subject: [PATCH] test: migrate test files to ts --- .eslintrc.js | 1 + jest.config.js | 2 +- .../{elements.spec.js => elements.spec.tsx} | 0 src/auth/{auth.spec.js => auth.spec.ts} | 0 .../{resolvers.spec.js => resolvers.spec.ts} | 0 .../local/{local.spec.js => local.spec.ts} | 0 ...ollections.spec.js => collections.spec.ts} | 105 ++++++++++++------ .../tests/{hooks.spec.js => hooks.spec.ts} | 0 ...{pointField.spec.js => pointField.spec.ts} | 0 ...ionships.spec.js => relationships.spec.ts} | 0 .../{uploads.spec.js => uploads.spec.ts} | 0 src/errors/{errors.spec.js => errors.spec.ts} | 0 ...orHandler.spec.js => errorHandler.spec.ts} | 0 .../{globals.spec.js => globals.spec.ts} | 0 .../{resolvers.spec.js => resolvers.spec.ts} | 0 tests/api/{globalSetup.js => globalSetup.ts} | 12 +- 16 files changed, 79 insertions(+), 41 deletions(-) rename src/admin/components/elements/{elements.spec.js => elements.spec.tsx} (100%) rename src/auth/{auth.spec.js => auth.spec.ts} (100%) rename src/collections/graphql/resolvers/{resolvers.spec.js => resolvers.spec.ts} (100%) rename src/collections/operations/local/{local.spec.js => local.spec.ts} (100%) rename src/collections/tests/{collections.spec.js => collections.spec.ts} (90%) rename src/collections/tests/{hooks.spec.js => hooks.spec.ts} (100%) rename src/collections/tests/{pointField.spec.js => pointField.spec.ts} (100%) rename src/collections/tests/{relationships.spec.js => relationships.spec.ts} (100%) rename src/collections/tests/{uploads.spec.js => uploads.spec.ts} (100%) rename src/errors/{errors.spec.js => errors.spec.ts} (100%) rename src/express/middleware/{errorHandler.spec.js => errorHandler.spec.ts} (100%) rename src/globals/requestHandlers/{globals.spec.js => globals.spec.ts} (100%) rename src/preferences/graphql/{resolvers.spec.js => resolvers.spec.ts} (100%) rename tests/api/{globalSetup.js => globalSetup.ts} (75%) diff --git a/.eslintrc.js b/.eslintrc.js index 53ef3f3d7b..11ae795b01 100644 --- a/.eslintrc.js +++ b/.eslintrc.js @@ -63,5 +63,6 @@ module.exports = { tsx: 'never', }, ], + 'operator-linbreak': 'off', }, }; diff --git a/jest.config.js b/jest.config.js index aab1988db2..546dd00ad1 100644 --- a/jest.config.js +++ b/jest.config.js @@ -1,7 +1,7 @@ module.exports = { verbose: true, testEnvironment: 'node', - globalSetup: '/tests/api/globalSetup.js', + globalSetup: '/tests/api/globalSetup.ts', testPathIgnorePatterns: [ 'node_modules', 'src/admin/*', diff --git a/src/admin/components/elements/elements.spec.js b/src/admin/components/elements/elements.spec.tsx similarity index 100% rename from src/admin/components/elements/elements.spec.js rename to src/admin/components/elements/elements.spec.tsx diff --git a/src/auth/auth.spec.js b/src/auth/auth.spec.ts similarity index 100% rename from src/auth/auth.spec.js rename to src/auth/auth.spec.ts diff --git a/src/collections/graphql/resolvers/resolvers.spec.js b/src/collections/graphql/resolvers/resolvers.spec.ts similarity index 100% rename from src/collections/graphql/resolvers/resolvers.spec.js rename to src/collections/graphql/resolvers/resolvers.spec.ts diff --git a/src/collections/operations/local/local.spec.js b/src/collections/operations/local/local.spec.ts similarity index 100% rename from src/collections/operations/local/local.spec.js rename to src/collections/operations/local/local.spec.ts diff --git a/src/collections/tests/collections.spec.js b/src/collections/tests/collections.spec.ts similarity index 90% rename from src/collections/tests/collections.spec.js rename to src/collections/tests/collections.spec.ts index de178a4ec3..4086661cb9 100644 --- a/src/collections/tests/collections.spec.js +++ b/src/collections/tests/collections.spec.ts @@ -63,9 +63,11 @@ describe('Collections - REST', () => { { blockType: 'richTextBlock', blockName: 'Test Block Name', - content: [{ - children: [{ text: 'english' }], - }], + content: [ + { + children: [{ text: 'english' }], + }, + ], }, ], }), @@ -106,9 +108,11 @@ describe('Collections - REST', () => { body: JSON.stringify({ title: 'newTitle', description: 'original description', - richText: [{ - children: [{ text: 'english' }], - }], + richText: [ + { + children: [{ text: 'english' }], + }, + ], priority: 1, }), headers, @@ -120,9 +124,11 @@ describe('Collections - REST', () => { const { id } = createData.doc; const updatedDesc = 'updated description'; - const updatedRichText = [{ - children: [{ text: 'english update' }], - }]; + const updatedRichText = [ + { + children: [{ text: 'english update' }], + }, + ]; const updatedNonLocalizedArray = [ { localizedEmbeddedText: 'english', @@ -152,10 +158,12 @@ describe('Collections - REST', () => { expect(data.doc.richText[0].children[0].text).toBe('english update'); // make certain the stored object is exactly the same as the returned object - const stored = await (await fetch(`${url}/api/localized-posts/${id}`, { - method: 'get', - headers, - })).json(); + const stored = await ( + await fetch(`${url}/api/localized-posts/${id}`, { + method: 'get', + headers, + }) + ).json(); expect(data.doc).toMatchObject(stored); }); @@ -181,9 +189,11 @@ describe('Collections - REST', () => { { blockType: 'richTextBlock', blockName: 'Test Block Name', - content: [{ - children: [{ text: 'spanish' }], - }], + content: [ + { + children: [{ text: 'spanish' }], + }, + ], }, ], }), @@ -289,14 +299,18 @@ describe('Collections - REST', () => { }); expect(response.status).toBe(201); - const getResponse = await fetch(`${url}/api/localized-posts?where[description][equals]=${desc}`); + const getResponse = await fetch( + `${url}/api/localized-posts?where[description][equals]=${desc}`, + ); const data = await getResponse.json(); expect(getResponse.status).toBe(200); expect(data.docs[0].description).toBe(desc); expect(data.docs).toHaveLength(1); - const getResponse2 = await fetch(`${url}/api/localized-posts?where[nonLocalizedGroup.text][equals]=sample content`); + const getResponse2 = await fetch( + `${url}/api/localized-posts?where[nonLocalizedGroup.text][equals]=sample content`, + ); const data2 = await getResponse2.json(); expect(getResponse2.status).toBe(200); @@ -330,7 +344,9 @@ describe('Collections - REST', () => { expect(response.status).toBe(201); expect(response2.status).toBe(201); - const queryResponse = await fetch(`${url}/api/localized-posts?where[or][0][title][equals]=${title1}&where[or][1][title][equals]=${title2}`); + const queryResponse = await fetch( + `${url}/api/localized-posts?where[or][0][title][equals]=${title1}&where[or][1][title][equals]=${title2}`, + ); const data = await queryResponse.json(); expect(queryResponse.status).toBe(200); @@ -365,7 +381,9 @@ describe('Collections - REST', () => { expect(response.status).toBe(201); expect(response2.status).toBe(201); - const queryResponse = await fetch(`${url}/api/localized-posts?where[or][0][title][equals]=${title1}&where[or][1][title][equals]=nonexistent`); + const queryResponse = await fetch( + `${url}/api/localized-posts?where[or][0][title][equals]=${title1}&where[or][1][title][equals]=nonexistent`, + ); const data = await queryResponse.json(); expect(queryResponse.status).toBe(200); @@ -395,10 +413,12 @@ describe('Collections - REST', () => { const additionalRelationshipARes = await fetch(`${url}/api/relationship-a?depth=0`, { body: JSON.stringify({ - postLocalizedMultiple: [{ - relationTo: 'localized-posts', - value: localizedPostID, - }], + postLocalizedMultiple: [ + { + relationTo: 'localized-posts', + value: localizedPostID, + }, + ], }), headers, method: 'post', @@ -410,7 +430,9 @@ describe('Collections - REST', () => { expect(additionalRelationshipARes.status).toBe(201); expect(relationshipAData.doc.post).toBe(relationshipBData.doc.id); - const queryRes = await fetch(`${url}/api/relationship-a?where[post.title][equals]=${relationshipBTitle}`); + const queryRes = await fetch( + `${url}/api/relationship-a?where[post.title][equals]=${relationshipBTitle}`, + ); const data = await queryRes.json(); expect(data.docs).toHaveLength(1); @@ -427,7 +449,9 @@ describe('Collections - REST', () => { expect(res.status).toBe(201); - const queryRes1 = await fetch(`${url}/api/relationship-a?where[LocalizedPost.title][in]=${localizedPostTitle}`); + const queryRes1 = await fetch( + `${url}/api/relationship-a?where[LocalizedPost.title][in]=${localizedPostTitle}`, + ); const data1 = await queryRes1.json(); expect(data1.docs).toHaveLength(1); @@ -458,7 +482,9 @@ describe('Collections - REST', () => { expect(res.status).toBe(201); - const queryRes = await fetch(`${url}/api/relationship-a?where[postManyRelationships.value][equals]=${relationshipB.doc.id}`); + const queryRes = await fetch( + `${url}/api/relationship-a?where[postManyRelationships.value][equals]=${relationshipB.doc.id}`, + ); const data = await queryRes.json(); expect(data.docs).toHaveLength(1); }); @@ -478,7 +504,9 @@ describe('Collections - REST', () => { expect(relationshipB.doc.id).toBeDefined(); - const queryRes = await fetch(`${url}/api/relationship-b?where[nonLocalizedRelationToMany.value][equals]=${localizedPostID}`); + const queryRes = await fetch( + `${url}/api/relationship-b?where[nonLocalizedRelationToMany.value][equals]=${localizedPostID}`, + ); const data = await queryRes.json(); expect(data.docs).toHaveLength(1); }); @@ -540,12 +568,16 @@ describe('Collections - REST', () => { method: 'post', }); - const queryRes1 = await fetch(`${url}/api/localized-posts?where[nonLocalizedGroup.text][equals]=${text}`); + const queryRes1 = await fetch( + `${url}/api/localized-posts?where[nonLocalizedGroup.text][equals]=${text}`, + ); const data1 = await queryRes1.json(); expect(data1.docs).toHaveLength(1); - const queryRes2 = await fetch(`${url}/api/localized-posts?where[localizedGroup.text][equals]=${text}`); + const queryRes2 = await fetch( + `${url}/api/localized-posts?where[localizedGroup.text][equals]=${text}`, + ); const data2 = await queryRes2.json(); expect(queryRes2.status).toBe(200); @@ -600,7 +632,9 @@ describe('Collections - REST', () => { await createPost(null, desc); } - const getResponse = await fetch(`${url}/api/localized-posts?where[description][equals]=${desc}`); + const getResponse = await fetch( + `${url}/api/localized-posts?where[description][equals]=${desc}`, + ); const data = await getResponse.json(); expect(getResponse.status).toBe(200); @@ -647,7 +681,9 @@ describe('Collections - REST', () => { const id2 = req2data.doc.id; // Query on shared desc and sort ascending - const getResponse = await fetch(`${url}/api/localized-posts?where[description][equals]=${desc}&sort=title`); + const getResponse = await fetch( + `${url}/api/localized-posts?where[description][equals]=${desc}&sort=title`, + ); const data = await getResponse.json(); expect(getResponse.status).toBe(200); @@ -656,7 +692,9 @@ describe('Collections - REST', () => { expect(data.docs[1].id).toStrictEqual(id2); // Query on shared desc and sort descending - const getResponseSorted = await fetch(`${url}/api/localized-posts?where[description][equals]=${desc}&sort=-title`); + const getResponseSorted = await fetch( + `${url}/api/localized-posts?where[description][equals]=${desc}&sort=-title`, + ); const sortedData = await getResponseSorted.json(); expect(getResponse.status).toBe(200); @@ -769,7 +807,6 @@ describe('Collections - REST', () => { done(); }); - it('should create collections with custom ID', async () => { expect(data.doc.id).toBe(document.id); }); diff --git a/src/collections/tests/hooks.spec.js b/src/collections/tests/hooks.spec.ts similarity index 100% rename from src/collections/tests/hooks.spec.js rename to src/collections/tests/hooks.spec.ts diff --git a/src/collections/tests/pointField.spec.js b/src/collections/tests/pointField.spec.ts similarity index 100% rename from src/collections/tests/pointField.spec.js rename to src/collections/tests/pointField.spec.ts diff --git a/src/collections/tests/relationships.spec.js b/src/collections/tests/relationships.spec.ts similarity index 100% rename from src/collections/tests/relationships.spec.js rename to src/collections/tests/relationships.spec.ts diff --git a/src/collections/tests/uploads.spec.js b/src/collections/tests/uploads.spec.ts similarity index 100% rename from src/collections/tests/uploads.spec.js rename to src/collections/tests/uploads.spec.ts diff --git a/src/errors/errors.spec.js b/src/errors/errors.spec.ts similarity index 100% rename from src/errors/errors.spec.js rename to src/errors/errors.spec.ts diff --git a/src/express/middleware/errorHandler.spec.js b/src/express/middleware/errorHandler.spec.ts similarity index 100% rename from src/express/middleware/errorHandler.spec.js rename to src/express/middleware/errorHandler.spec.ts diff --git a/src/globals/requestHandlers/globals.spec.js b/src/globals/requestHandlers/globals.spec.ts similarity index 100% rename from src/globals/requestHandlers/globals.spec.js rename to src/globals/requestHandlers/globals.spec.ts diff --git a/src/preferences/graphql/resolvers.spec.js b/src/preferences/graphql/resolvers.spec.ts similarity index 100% rename from src/preferences/graphql/resolvers.spec.js rename to src/preferences/graphql/resolvers.spec.ts diff --git a/tests/api/globalSetup.js b/tests/api/globalSetup.ts similarity index 75% rename from tests/api/globalSetup.js rename to tests/api/globalSetup.ts index 0ef93dcbfa..843b4f0b4c 100644 --- a/tests/api/globalSetup.js +++ b/tests/api/globalSetup.ts @@ -1,12 +1,12 @@ -const path = require('path'); -const fs = require('fs'); +import path from 'path'; +import fs from 'fs'; +import { email, password } from '../../src/mongoose/testCredentials'; +import fileExists from './utils/fileExists'; +import loadConfig from '../../src/config/load'; + require('isomorphic-fetch'); require('../../demo/server'); -const loadConfig = require('../../src/config/load').default; -const { email, password } = require('../../src/mongoose/testCredentials'); -const fileExists = require('./utils/fileExists'); - const { serverURL } = loadConfig(); const mediaDir = path.join(__dirname, '../../demo', 'media');