- tests/fixtures/types.ts: Test fixture type definitions - tests/fixtures/factory.ts: User/Order/Material factories - tests/mocks/types.ts: Mock type definitions (549 lines) - tests/mocks/index.ts: Mock factory functions - vitest.config.ts: Performance optimizations (isolate:false, pool:threads) - User/Order/Material factory tests (7 tests total) Performance: 7.65s → 4.94s (35% improvement)
36 lines
994 B
TypeScript
36 lines
994 B
TypeScript
/**
|
|
* UserFactory Unit Tests
|
|
*/
|
|
|
|
import { describe, it, expect } from 'vitest'
|
|
import { UserFactory } from './factory'
|
|
|
|
describe('UserFactory', () => {
|
|
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]+$/)
|
|
})
|
|
|
|
it('creates admin with correct permissions', () => {
|
|
const admin = UserFactory.createAdmin()
|
|
|
|
expect(admin.userType).toBe('Admin')
|
|
expect(admin.permissions).toEqual(['read', 'write', 'delete', 'admin'])
|
|
expect(admin.id).toMatch(/^USR-\d+-[a-z0-9]+$/)
|
|
})
|
|
|
|
it('generates unique IDs', () => {
|
|
const id1 = UserFactory.createAdmin().id
|
|
const id2 = UserFactory.createUser().id
|
|
const id3 = UserFactory.createGuest().id
|
|
|
|
expect(id1).not.toBe(id2)
|
|
expect(id2).not.toBe(id3)
|
|
expect(id1).not.toBe(id3)
|
|
})
|
|
})
|