import { describe, it, expect, beforeAll, afterAll } from 'vitest' import { ErpAuthService } from '../../src/main/services/erp/erp-auth' import type { ErpConfig } from '../../src/main/types/erp.types' describe('ERP Authentication Service (Integration)', () => { let authService: ErpAuthService // For integration tests, use fixed test credentials or configure via config.yaml const config: ErpConfig = { url: '', username: '', password: '' } // Check if we have ERP credentials const hasCredentials = !!(config.url && config.username && config.password) beforeAll(() => { if (!hasCredentials) { console.warn('Skipping ERP auth tests: credentials not configured') return } authService = new ErpAuthService(config) }) it('should login successfully', async () => { if (!hasCredentials) { console.warn('Skipping test: ERP credentials not configured') return } const session = await authService.login() expect(session).toBeDefined() expect(session.browser).toBeDefined() expect(session.context).toBeDefined() expect(session.page).toBeDefined() expect(session.isLoggedIn).toBe(true) }, 30000) it('should navigate to main page after login', async () => { if (!hasCredentials) { console.warn('Skipping test: ERP credentials not configured') return } const session = await authService.login() const url = session.page.url() expect(url).toContain(config.url) }, 30000) afterAll(async () => { if (hasCredentials && authService) { await authService.close() } }) })