generated from coulomb/repo-seed
- 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>
43 lines
1.0 KiB
JavaScript
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>
|
|
`
|
|
} |