/** * Simple Database Integration Test * 기본 데이터베이스 연결 및 엔티티 테스트 */ import { TestDatabase } from '../../../../test/test-database' import { Domain, DataSet } from '../../../../test/entities/schemas' describe('Simple Database Test', () => { let testDb: TestDatabase beforeAll(async () => { testDb = TestDatabase.getInstance() // Ensure initialized if (!testDb.getDataSource().isInitialized) { await testDb.initialize() } }) it('should have Domain entity registered', async () => { const metadata = testDb.getDataSource().getMetadata('Domain') expect(metadata).toBeDefined() expect(metadata.name).toBe('Domain') }) it('should create and retrieve a Domain', async () => { const manager = testDb.getManager() const domain = await manager.save('Domain', { name: 'Test', subdomain: 'test', timezone: 'UTC' }) as Domain expect(domain.id).toBeDefined() expect(domain.name).toBe('Test') const found = await manager.findOne('Domain', { where: { id: domain.id } }) as Domain | null expect(found).toBeDefined() expect(found?.name).toBe('Test') }) it('should create a DataSet with Domain', async () => { const manager = testDb.getManager() const domain = await manager.save('Domain', { name: 'Test Domain', subdomain: 'test-ds', timezone: 'UTC' }) as Domain const dataSet = await manager.save('DataSet', { name: 'Test DataSet', type: 'manual', active: true, domain }) as DataSet expect(dataSet.id).toBeDefined() expect(dataSet.name).toBe('Test DataSet') }) })