Nantes Université

Skip to content
Extraits de code Groupes Projets
Valider a7bdcb72 rédigé par Erwan BOUSSE's avatar Erwan BOUSSE
Parcourir les fichiers

test: fix jest test cases for ESM

parent 75ab21aa
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
Pipeline #73241 en échec
......@@ -38,7 +38,7 @@
"devDependencies": {
"@commitlint/cli": "^17.1.2",
"@commitlint/config-conventional": "^17.1.0",
"@types/jest": "^29.2.0",
"@types/jest": "29.5.1",
"@types/mkdirp": "^1.0.2",
"@types/node": "^18.11.2",
"@typescript-eslint/eslint-plugin": "5.59.6",
......@@ -48,12 +48,12 @@
"eslint-config-prettier": "8.8.0",
"eslint-plugin-prettier": "^4.2.1",
"husky": "^8.0.0",
"jest": "^29.2.1",
"jest": "29.5.0",
"lint-staged": "^13.0.3",
"prettier": "^2.7.1",
"rimraf": "^3.0.2",
"standard-version": "^9.5.0",
"ts-jest": "^29.0.3",
"ts-jest": "29.1.0",
"typedoc": "^0.23.17",
"typescript": "^4.8.4"
},
......@@ -67,18 +67,20 @@
"@commitlint/config-conventional"
]
},
"jest": {
"moduleFileExtensions": [
"js",
"json",
"ts"
],
"rootDir": "src",
"testRegex": ".spec.ts$",
"transform": {
"^.+\\.(t|j)s$": "ts-jest"
"extensionsToTreatAsEsm": [".ts"],
"moduleNameMapper": {
"^(\\.{1,2}/.*)\\.js$": "$1"
},
"coverageDirectory": "../coverage",
"testEnvironment": "node"
"transform": {
"^.+\\.tsx?$": [
"ts-jest",
{
"useESM": true
}
]
}
}
}
/* eslint-disable */
import { EvaluationService } from './index.js'
import { CSVMaker, DefaultCSVMaker } from '../../core/csv/index.js'
import { DateProvider, DefaultDateProvider } from '../../core/date/index.js'
import { FileWriter } from '../../core/file/index.js'
import { HTTPClient } from '../../core/http-client/index.js'
import { DefaultStorageProvider, Storage } from '../../core/storage/index.js'
import { DataObject, DefaultStorageProvider, Storage } from '../../core/storage/index.js'
import { CommitData, Project, ProjectService } from '../project/index.js'
import { Member, MemberService } from '../member/index.js'
import { Evaluator, Report, ReportParagraph } from './evaluation.interface.js'
import { jest } from '@jest/globals'
let instance: EvaluationService
let mockSet: jest.Mock
let mockGet: jest.Mock
let mockSet: jest.Mock<(...dataObjects: DataObject<any>[]) => void>
let mockGet: jest.Mock<(key: string) => any>
let mockSetRaw: jest.Mock
let mockWrite: jest.Mock
let mockGetCurrentDate: jest.Mock
let mockGetCurrentDate: jest.Mock<() => Date>
const fakeData = { theKey: 'Some data' }
const fakeResults = { lettersIntheKey: fakeData.theKey.length }
const fakeReportData: Report = {
......@@ -52,19 +55,25 @@ let mockEvaluator: Evaluator
describe('Evaluation Service', () => {
beforeEach(() => {
// Mock the storage
mockSet = jest.fn()
mockGet = jest.fn()
mockSet = jest.fn(() => {})
mockGet = jest.fn(() => {})
mockSetRaw = jest.fn()
const mockStorageProvider = {
forPath(path: string): Storage {
return {
clear: jest.fn(),
clear: jest.fn(() => {
throw 'Nope'
}),
get: mockGet,
getRaw: jest.fn(),
getRaw: jest.fn(() => {
throw 'Nope'
}),
set: mockSet,
setRaw: mockSetRaw,
setFolder: jest.fn(),
list: jest.fn(),
list: jest.fn(() => {
throw 'Nope'
}),
}
},
}
......@@ -112,7 +121,9 @@ describe('Evaluation Service', () => {
{} as FileWriter,
{} as DateProvider,
)
const dummyEvaluator: Evaluator = await normalInstance.loadEvaluatorWithGlobalRetry('./test-data/dummy-evaluator')
const dummyEvaluator: Evaluator = await normalInstance.loadEvaluatorWithGlobalRetry(
'./test-data/dummy-evaluator/index.js',
)
expect(dummyEvaluator).toBeDefined()
expect(dummyEvaluator.analyze).toBeDefined()
expect(dummyEvaluator.score).toBeDefined()
......
import { StorageProvider } from '../../core/storage/index.js'
import { ProjectService } from './project.service.js'
import { jest } from '@jest/globals'
describe('Project Service', () => {
describe('list', () => {
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Terminez d'abord l'édition de ce message.
Veuillez vous inscrire ou vous pour commenter