- 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
27 lines
640 B
TypeScript
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.')
|
|
})
|