From cfd680d43e881e432637bfaae7d81c013c33dbe1 Mon Sep 17 00:00:00 2001
From: RahulGautamSingh <rahultesnik@gmail.com>
Date: Thu, 31 Aug 2023 10:08:31 +0545
Subject: [PATCH] test: ensure presence of  `CustomMigrationClasses` in
 `customMigrations` (#24171)

---
 lib/config/migrations/migrations-service.spec.ts | 13 +++++++++++++
 1 file changed, 13 insertions(+)

diff --git a/lib/config/migrations/migrations-service.spec.ts b/lib/config/migrations/migrations-service.spec.ts
index 1f5232b676..e038cc3eb4 100644
--- a/lib/config/migrations/migrations-service.spec.ts
+++ b/lib/config/migrations/migrations-service.spec.ts
@@ -1,3 +1,5 @@
+import fs from 'node:fs';
+import { join } from 'upath';
 import type { RenovateConfig } from '../types';
 import { AbstractMigration } from './base/abstract-migration';
 import { MigrationsService } from './migrations-service';
@@ -97,4 +99,15 @@ describe('config/migrations/migrations-service', () => {
     }
     expect(duplicateProperties).toBeEmptyArray();
   });
+
+  it('includes all defined migration classes in MigrationsService.customMigrations', () => {
+    const allDefinedMigrationClasses: string[] = fs
+      .readdirSync(join(__dirname, 'custom'), { withFileTypes: true })
+      .map((file) => file.name)
+      .filter((name) => !name.includes('spec.ts'));
+
+    expect(MigrationsService.customMigrations).toHaveLength(
+      allDefinedMigrationClasses.length
+    );
+  });
 });
-- 
GitLab