diff --git a/tests/unit/agents/definitions/schema.test.ts b/tests/unit/agents/definitions/schema.test.ts index fd0d0d7b..51594277 100644 --- a/tests/unit/agents/definitions/schema.test.ts +++ b/tests/unit/agents/definitions/schema.test.ts @@ -11,7 +11,7 @@ import { // TriggerParameterSchema Tests // ============================================================================ -describe('TriggerParameterSchema', () => { +describe.concurrent('TriggerParameterSchema', () => { it('parses a valid string parameter', () => { const param = { name: 'senderEmail', @@ -113,7 +113,7 @@ describe('TriggerParameterSchema', () => { // SupportedTriggerSchema Tests // ============================================================================ -describe('SupportedTriggerSchema', () => { +describe.concurrent('SupportedTriggerSchema', () => { it('parses a valid trigger with event format pm:status-changed', () => { const trigger = { event: 'pm:status-changed', @@ -215,7 +215,7 @@ describe('SupportedTriggerSchema', () => { // KnownProviderSchema Tests // ============================================================================ -describe('KnownProviderSchema', () => { +describe.concurrent('KnownProviderSchema', () => { it('accepts trello', () => { expect(KnownProviderSchema.safeParse('trello').success).toBe(true); }); @@ -240,7 +240,7 @@ describe('KnownProviderSchema', () => { // IntegrationRequirementsSchema Tests // ============================================================================ -describe('IntegrationRequirementsSchema', () => { +describe.concurrent('IntegrationRequirementsSchema', () => { it('parses valid integration requirements', () => { const requirements = { required: ['pm'], @@ -294,7 +294,7 @@ describe('IntegrationRequirementsSchema', () => { // AgentDefinitionSchema Tests // ============================================================================ -describe('AgentDefinitionSchema', () => { +describe.concurrent('AgentDefinitionSchema', () => { const validDefinition = { identity: { emoji: '🔧', diff --git a/tests/unit/agents/definitions/strategies.test.ts b/tests/unit/agents/definitions/strategies.test.ts index 4831ddcc..4610f780 100644 --- a/tests/unit/agents/definitions/strategies.test.ts +++ b/tests/unit/agents/definitions/strategies.test.ts @@ -2,7 +2,7 @@ import { describe, expect, it } from 'vitest'; import { CONTEXT_STEP_REGISTRY } from '../../../../src/agents/definitions/strategies.js'; -describe('CONTEXT_STEP_REGISTRY', () => { +describe.concurrent('CONTEXT_STEP_REGISTRY', () => { it('contains all expected step names', () => { const expectedKeys = [ 'directoryListing', diff --git a/tests/unit/config/customModels.test.ts b/tests/unit/config/customModels.test.ts index 0c4fddb9..a5f26da1 100644 --- a/tests/unit/config/customModels.test.ts +++ b/tests/unit/config/customModels.test.ts @@ -2,7 +2,7 @@ import { describe, expect, it } from 'vitest'; import { CUSTOM_MODELS } from '../../../src/config/customModels.js'; -describe('config/customModels', () => { +describe.concurrent('config/customModels', () => { describe('CUSTOM_MODELS array', () => { it('is defined and is an array', () => { expect(Array.isArray(CUSTOM_MODELS)).toBe(true); diff --git a/tests/unit/config/integrationRoles.test.ts b/tests/unit/config/integrationRoles.test.ts index b25c0f74..b16a6694 100644 --- a/tests/unit/config/integrationRoles.test.ts +++ b/tests/unit/config/integrationRoles.test.ts @@ -11,7 +11,7 @@ import { // PROVIDER_CATEGORY // --------------------------------------------------------------------------- -describe('PROVIDER_CATEGORY', () => { +describe.concurrent('PROVIDER_CATEGORY', () => { it('maps trello to pm category', () => { expect(PROVIDER_CATEGORY.trello).toBe('pm'); }); @@ -43,7 +43,7 @@ describe('PROVIDER_CATEGORY', () => { // PROVIDER_CREDENTIAL_ROLES // --------------------------------------------------------------------------- -describe('PROVIDER_CREDENTIAL_ROLES', () => { +describe.concurrent('PROVIDER_CREDENTIAL_ROLES', () => { it('every provider has at least one credential role', () => { for (const [provider, roles] of Object.entries(PROVIDER_CREDENTIAL_ROLES)) { expect(roles.length, `${provider} should have at least one role`).toBeGreaterThan(0); diff --git a/tests/unit/config/rateLimits.test.ts b/tests/unit/config/rateLimits.test.ts index 7c2a49fa..f90f1f26 100644 --- a/tests/unit/config/rateLimits.test.ts +++ b/tests/unit/config/rateLimits.test.ts @@ -2,7 +2,7 @@ import { describe, expect, it } from 'vitest'; import { MODEL_RATE_LIMITS, getRateLimitForModel } from '../../../src/config/rateLimits.js'; -describe('config/rateLimits', () => { +describe.concurrent('config/rateLimits', () => { describe('getRateLimitForModel', () => { it('returns exact match for known models', () => { const result = getRateLimitForModel('gemini:gemini-2.5-flash'); diff --git a/tests/unit/config/retryConfig.test.ts b/tests/unit/config/retryConfig.test.ts index 33fa48a4..415a37ab 100644 --- a/tests/unit/config/retryConfig.test.ts +++ b/tests/unit/config/retryConfig.test.ts @@ -11,7 +11,7 @@ const createMockLogger = () => ({ trace: vi.fn(), }); -describe('config/retryConfig', () => { +describe.concurrent('config/retryConfig', () => { describe('getRetryConfig', () => { it('returns retry configuration with correct structure', () => { const logger = createMockLogger(); diff --git a/tests/unit/config/reviewConfig.test.ts b/tests/unit/config/reviewConfig.test.ts index 3bb4ef2b..280fbd3d 100644 --- a/tests/unit/config/reviewConfig.test.ts +++ b/tests/unit/config/reviewConfig.test.ts @@ -5,7 +5,7 @@ import { estimateTokens, } from '../../../src/config/reviewConfig.js'; -describe('config/reviewConfig', () => { +describe.concurrent('config/reviewConfig', () => { describe('REVIEW_FILE_CONTENT_TOKEN_LIMIT', () => { it('is defined as a number', () => { expect(typeof REVIEW_FILE_CONTENT_TOKEN_LIMIT).toBe('number'); diff --git a/tests/unit/config/schema.test.ts b/tests/unit/config/schema.test.ts index af3a5db0..48fbd08c 100644 --- a/tests/unit/config/schema.test.ts +++ b/tests/unit/config/schema.test.ts @@ -1,7 +1,7 @@ import { describe, expect, it } from 'vitest'; import { ProjectConfigSchema, validateConfig } from '../../../src/config/schema.js'; -describe('ProjectConfigSchema', () => { +describe.concurrent('ProjectConfigSchema', () => { it('validates a valid project config', () => { const config = { id: 'test-project', @@ -227,7 +227,7 @@ describe('ProjectConfigSchema', () => { }); }); -describe('validateConfig', () => { +describe.concurrent('validateConfig', () => { it('validates a complete cascade config', () => { const config = { projects: [ diff --git a/tests/unit/utils/llmMetrics.test.ts b/tests/unit/utils/llmMetrics.test.ts index 7ee5e827..28e2cc82 100644 --- a/tests/unit/utils/llmMetrics.test.ts +++ b/tests/unit/utils/llmMetrics.test.ts @@ -6,7 +6,7 @@ import { logLLMMetrics, } from '../../../src/utils/llmMetrics.js'; -describe('llmMetrics', () => { +describe.concurrent('llmMetrics', () => { describe('calculateCost', () => { it('calculates cost for known model', () => { const cost = calculateCost('gemini:gemini-2.5-flash', { diff --git a/tests/unit/utils/prUrl.test.ts b/tests/unit/utils/prUrl.test.ts index e03bb733..83bdd0fb 100644 --- a/tests/unit/utils/prUrl.test.ts +++ b/tests/unit/utils/prUrl.test.ts @@ -2,7 +2,7 @@ import { describe, expect, it } from 'vitest'; import { extractPRNumber, extractPRUrl } from '../../../src/utils/prUrl.js'; -describe('extractPRUrl', () => { +describe.concurrent('extractPRUrl', () => { it('extracts a GitHub PR URL from plain text', () => { const text = 'Created PR: https://github.com/owner/repo/pull/42'; expect(extractPRUrl(text)).toBe('https://github.com/owner/repo/pull/42'); @@ -45,7 +45,7 @@ describe('extractPRUrl', () => { }); }); -describe('extractPRNumber', () => { +describe.concurrent('extractPRNumber', () => { it('extracts PR number from a full GitHub PR URL', () => { expect(extractPRNumber('https://github.com/owner/repo/pull/42')).toBe(42); });