fix(test): improve test isolation and reduce noise in unit tests

- Add logger/error-utils mocks to cleaner-handler test to suppress IPC error log noise
- Move setupServiceMocks into beforeEach for consistent default mocking in cleaner tests
- Replace vi.waitFor (2s timeout) with setImmediate microtask flush in extractor test
- Remove dead activeType assignments in validation-database test
- Align TestUser.id type with UserInfo.id (string → number) and use deterministic counter

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Misaka
2026-04-05 21:38:20 +08:00
parent d0f8ad0fef
commit 4150a13175
9 changed files with 1329 additions and 8 deletions

View File

@@ -2,17 +2,22 @@
* UserFactory Unit Tests
*/
import { describe, it, expect } from 'vitest'
import { describe, it, expect, beforeEach } from 'vitest'
import { UserFactory } from './factory'
describe('UserFactory', () => {
beforeEach(() => {
// Reset ID counter to ensure test isolation
;(UserFactory as any).idCounter = 0
})
it('creates user with default role', () => {
const user = UserFactory.createUser()
expect(user.username).toMatch(/^test_user_\d+$/)
expect(user.userType).toBe('User')
expect(user.permissions).toEqual(['read', 'write'])
expect(user.id).toMatch(/^USR-\d+-[a-z0-9]+$/)
expect(user.id).toBeTypeOf('number')
})
it('creates admin with correct permissions', () => {
@@ -20,7 +25,7 @@ describe('UserFactory', () => {
expect(admin.userType).toBe('Admin')
expect(admin.permissions).toEqual(['read', 'write', 'delete', 'admin'])
expect(admin.id).toMatch(/^USR-\d+-[a-z0-9]+$/)
expect(admin.id).toBeTypeOf('number')
})
it('generates unique IDs', () => {