Files
BIPMaterialManager/tests/setup.ts
test 6f19890a84 refactor(erp-auth): implement precise login result detection with three outcomes
- Add waitForLoginResult() method using Promise.race to detect:
  - Success: .nc-workbench-icon element visible
  - Failure: '名称或密码错误' error text visible
  - Force login: click confirm button and re-detect
- Extract timeout constants (PAGE_LOAD_TIMEOUT, LOGIN_RESULT_TIMEOUT, FORCE_LOGIN_TIMEOUT)
- Improve error handling with clear error messages
- Add unit tests for class structure verification
- Fix test setup for Electron app mock

Fixes: ERP login success/failure detection was ambiguous
2026-03-07 14:07:08 +08:00

27 lines
640 B
TypeScript

import { beforeAll, afterAll, vi } from 'vitest'
import dotenv from 'dotenv'
import path from 'path'
// Mock electron app module for unit tests
vi.mock('electron', () => ({
app: {
isPackaged: false,
isReady: vi.fn().mockReturnValue(false),
getPath: vi.fn().mockReturnValue(path.join(process.cwd(), 'logs')),
on: vi.fn()
}
}))
// Load environment variables from project root
dotenv.config({ path: path.resolve(process.cwd(), '.env') })
beforeAll(async () => {
// Global test setup
console.log('Test suite starting...')
})
afterAll(async () => {
// Global test teardown
console.log('Test suite completed.')
})