mirror of
https://github.com/callumalpass/tasknotes.git
synced 2026-07-22 12:50:26 +00:00
49 lines
1.7 KiB
JavaScript
49 lines
1.7 KiB
JavaScript
module.exports = {
|
|
preset: 'ts-jest',
|
|
testEnvironment: 'jsdom',
|
|
roots: ['<rootDir>/tests'],
|
|
testMatch: [
|
|
'**/__tests__/**/*.ts',
|
|
'**/?(*.)+(spec|test).ts'
|
|
],
|
|
transform: {
|
|
'^.+\\.ts$': ['ts-jest', {
|
|
tsconfig: {
|
|
paths: {
|
|
obsidian: ['node_modules/obsidian-test-mocks/dist/lib/cjs/obsidian/index.cjs']
|
|
}
|
|
}
|
|
}],
|
|
},
|
|
setupFiles: ['obsidian-test-mocks/jest-setup'],
|
|
setupFilesAfterEnv: ['<rootDir>/tests/test-setup.ts'],
|
|
moduleNameMapper: {
|
|
'^obsidian$': '<rootDir>/tests/helpers/obsidian-bridge.ts',
|
|
'^@fullcalendar/(.*)$': '<rootDir>/tests/__mocks__/fullcalendar.ts',
|
|
// Keep mocks for complex/large libraries that benefit from controlled testing
|
|
'^chrono-node$': '<rootDir>/tests/__mocks__/chrono-node.ts',
|
|
'^ical.js$': '<rootDir>/tests/__mocks__/ical.ts',
|
|
// Add ES module mocks for problematic imports
|
|
'^rrule$': '<rootDir>/tests/__mocks__/rrule.ts',
|
|
'^date-fns$': '<rootDir>/tests/__mocks__/date-fns.ts',
|
|
// Mock utility modules
|
|
'^../../src/utils/helpers$': '<rootDir>/tests/__mocks__/utils.ts',
|
|
'^../../src/utils/filenameGenerator$': '<rootDir>/tests/__mocks__/utils.ts',
|
|
'^../../src/utils/dateUtils$': '<rootDir>/tests/__mocks__/utils.ts',
|
|
// Mock markdown files (for release notes)
|
|
'\\.md$': '<rootDir>/tests/__mocks__/markdown.ts'
|
|
},
|
|
collectCoverageFrom: [
|
|
'src/services/**/*.ts',
|
|
'src/utils/**/*.ts',
|
|
'!src/services/PriorityManager.ts',
|
|
'!src/services/StatusManager.ts',
|
|
'!src/services/FieldMapper.ts',
|
|
'!src/**/*.d.ts',
|
|
'!tests/**/*'
|
|
],
|
|
coverageReporters: ['text', 'lcov', 'html'],
|
|
testTimeout: 10000,
|
|
clearMocks: true,
|
|
restoreMocks: true
|
|
};
|