Files
timeline-svg/test/setup.js
tegwick cf86b45b93 test: improve test infrastructure and fix test assertions
- Add mockPapaParse helper to centralize CSV mocking
- Fix test assertions to match actual output (German month names)
- Add missing DOM elements to test setup (projectFile, csvFile, etc.)
- Update vitest to v4.0.14 for improved testing capabilities
- Make setupEventHandlers globally accessible for testing
- Use textContent instead of innerText for better consistency
- Fix autoLoadDefaultProject test to check all three fallback paths
- Add proper event handler setup in integration tests
- Improve error handling test assertions

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-27 08:59:23 +01:00

43 lines
1.0 KiB
JavaScript

// Test setup file for Vitest
import { vi } from 'vitest'
// Mock PapaParse (since it's loaded via CDN)
global.Papa = {
parse: vi.fn()
}
// Mock fetch for loading files
global.fetch = vi.fn()
// Setup DOM helpers
beforeEach(() => {
// Reset DOM
document.head.innerHTML = ''
document.body.innerHTML = ''
// Clear all mocks
vi.clearAllMocks()
})
// Create helper functions for DOM setup
export const createMockElement = (tagName, attributes = {}) => {
const element = document.createElement(tagName)
Object.entries(attributes).forEach(([key, value]) => {
element.setAttribute(key, value)
})
return element
}
export const setupBasicDOM = () => {
document.body.innerHTML = `
<div id="projectName"></div>
<div id="projectSubtitle"></div>
<div id="viewer"></div>
<link id="dynamicCss" rel="stylesheet" href="">
<button id="downloadSvg"></button>
<span id="projectFile"></span>
<span id="csvFile"></span>
<span id="svgFile"></span>
<span id="cssFile"></span>
`
}