Skip to content

Commit c84c59a

Browse files
fix: remove automated cleanup of config tables
1 parent 755f0fa commit c84c59a

File tree

2 files changed

+25
-8
lines changed

2 files changed

+25
-8
lines changed

src/migration/premigrate.ts

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -200,14 +200,8 @@ export class PreMigrate extends BaseMigrationTool {
200200
Logger.logVerbose(this.messages.getMessage('metadataTablesAlreadyClean'));
201201
return true;
202202
}
203-
204-
const consent = await this.getMetadataCleanupConsent();
205-
206-
if (!consent) {
207-
Logger.error(this.messages.getMessage('metadataCleanupConsentNotGiven'));
208-
return false;
209-
}
210-
return await omniStudioMetadataCleanupService.cleanupOmniStudioMetadataTables();
203+
Logger.error(this.messages.getMessage('cleanupMetadataTablesRequired'));
204+
return false;
211205
}
212206

213207
private async checkLwcDeployPrerequisites(
@@ -319,6 +313,8 @@ export class PreMigrate extends BaseMigrationTool {
319313
*
320314
* @returns Promise<boolean> - true if user consents, false otherwise
321315
*/
316+
// eslint-disable-next-line @typescript-eslint/ban-ts-comment
317+
// @ts-ignore TS6133: kept intentionally for future metadata cleanup flow.
322318
private async getMetadataCleanupConsent(): Promise<boolean> {
323319
const askWithTimeOut = PromptUtil.askWithTimeOut(this.messages);
324320
let validResponse = false;

test/migration/premigrate.test.ts

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,8 @@ import sinon = require('sinon');
99
import { PreMigrate } from '../../src/migration/premigrate';
1010
import { Logger } from '../../src/utils/logger';
1111
import { PromptUtil } from '../../src/utils/promptUtil';
12+
import { OmniStudioMetadataCleanupService } from '../../src/utils/config/OmniStudioMetadataCleanupService';
13+
import * as dataModelService from '../../src/utils/dataModelService';
1214

1315
describe('PreMigrate - handleAllVersionsPrerequisites for Standard Data Model', () => {
1416
let preMigrate: PreMigrate;
@@ -121,4 +123,23 @@ describe('PreMigrate - handleAllVersionsPrerequisites for Standard Data Model',
121123
expect(processExitStub.called).to.be.false;
122124
});
123125
});
126+
127+
describe('OmniStudio metadata prerequisites', () => {
128+
it('should log cleanup required and exit when config tables are not empty', async () => {
129+
// Arrange
130+
getMessageStub
131+
.withArgs('cleanupMetadataTablesRequired')
132+
.returns('Omnistudio configuration tables contain records.');
133+
sandbox.stub(dataModelService, 'isStandardDataModelWithMetadataAPIEnabled').returns(false);
134+
sandbox.stub(preMigrate, 'getOmniStudioMetadataEnableConsent').resolves(true);
135+
sandbox.stub(OmniStudioMetadataCleanupService.prototype, 'hasCleanOmniStudioMetadataTables').resolves(false);
136+
137+
// Act
138+
await preMigrate.handleOmnistudioMetadataPrerequisites();
139+
140+
// Assert
141+
expect(logErrorStub.calledWith('Omnistudio configuration tables contain records.')).to.be.true;
142+
expect(processExitStub.calledWith(1)).to.be.true;
143+
});
144+
});
124145
});

0 commit comments

Comments
 (0)