diff --git a/test/unit/db-flags.test.js b/test/unit/db-flags.test.js index 0b615bf81..580791e96 100644 --- a/test/unit/db-flags.test.js +++ b/test/unit/db-flags.test.js @@ -50,11 +50,11 @@ describe('db-flags (ImsConfig-backed generic feature flags, #2060)', () => { afterAll(() => { bustFeatureFlagsCache(); }); - it('manages the 14 migrated flags but NOT the content.delta.* keys', () => { + it('manages the 15 migrated flags but NOT the content.delta.* keys', () => { const keys = managedFlagKeys(); expect(keys).toContain(METRICS); expect(keys).toContain(PAGERANK); - expect(keys.length).toBe(14); + expect(keys.length).toBe(15); // 14 migrated (#2060) + SEMAPHORE_SYNC_ENABLED (#2184) // content-delta flags keep their own dedicated module. const imsKeys = keys.map(imsKey); expect(imsKeys).not.toContain('content.delta.write'); @@ -139,7 +139,7 @@ describe('db-flags (ImsConfig-backed generic feature flags, #2060)', () => { it('ensureFeatureFlagDefaults() seeds every absent flag to its declared default', async () => { const seeded = await ensureFeatureFlagDefaults(); - expect(seeded.length).toBe(14); + expect(seeded.length).toBe(15); await refreshFeatureFlags(); expect(isFlagEnabled(METRICS)).toBe(true); expect(isFlagEnabled(MCP_AUTH)).toBe(true); @@ -166,6 +166,6 @@ describe('db-flags (ImsConfig-backed generic feature flags, #2060)', () => { expect(second).toEqual([]); const keys = managedFlagKeys().map(imsKey); const rows = await SELECT.from(ImsConfig).where({ key: { in: keys } }); - expect(rows.length).toBe(14); + expect(rows.length).toBe(15); }); }); diff --git a/test/unit/srv/scheduler-registry.test.js b/test/unit/srv/scheduler-registry.test.js index 350a0dfc2..4536c5c56 100644 --- a/test/unit/srv/scheduler-registry.test.js +++ b/test/unit/srv/scheduler-registry.test.js @@ -40,7 +40,7 @@ describe('scheduler — JOB_REGISTRY chassis', () => { expect(() => registerJob({ jobName: 'dup', schedule: '0 1 * * *', ttlMs: 1000, description: 'x', fn: async () => 'b' })).toThrow(/Duplicate jobName/); }); - it('registerJobs() registers exactly 49 jobs (lockstep)', async () => { + it('registerJobs() registers exactly 50 jobs (lockstep)', async () => { // The full registerJobs() schedules crons against node-cron. We run it // in a fresh test context; the test isolates by resetting the registry // in beforeEach and again in afterAll (below). @@ -62,7 +62,8 @@ describe('scheduler — JOB_REGISTRY chassis', () => { // Task 9 adds freshness-corpus-embedding (46 -> 47) // Task 9 adds freshness-scan (47 -> 48) // #2188 adds feedback-owner-digest (48 -> 49) - expect(_getJobRegistry().size).toBe(49); + // #2184 adds semaphore-tag-sync (49 -> 50) + expect(_getJobRegistry().size).toBe(50); const names = [..._getJobRegistry().keys()]; expect(names).toContain('fetch-help-docs'); expect(names).toContain('fetch-community-events'); @@ -83,6 +84,7 @@ describe('scheduler — JOB_REGISTRY chassis', () => { expect(names).toContain('freshness-corpus-embedding'); expect(names).toContain('freshness-scan'); expect(names).toContain('feedback-owner-digest'); + expect(names).toContain('semaphore-tag-sync'); }); it('runJobByName(unknownName) throws', async () => {