From 9d9e04d90be0af6dfed32cf1b688f31032c82cfe Mon Sep 17 00:00:00 2001 From: Christopher Bohlman Date: Thu, 9 Nov 2023 21:51:53 -0500 Subject: [PATCH] fix: default --test-level flag if --tests present --- src/utils/flags.ts | 5 ++++- test/nuts/seeds/deploy.metadata.test-level.seed.ts | 9 +++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/utils/flags.ts b/src/utils/flags.ts index df4b86d9..7cbe89d1 100644 --- a/src/utils/flags.ts +++ b/src/utils/flags.ts @@ -71,6 +71,10 @@ export const ensuredDirFlag = Flags.custom({ export const testLevelFlag = Flags.custom({ char: 'l', parse: (input) => Promise.resolve(input as TestLevel), + // eslint-disable-next-line @typescript-eslint/require-await + default: async (context) => { + if (context.flags.tests) return TestLevel.RunSpecifiedTests; + }, options: Object.values(TestLevel), }); @@ -91,7 +95,6 @@ export const zipFileFlag = Flags.custom({ export const testsFlag = Flags.string({ char: 't', multiple: true, - dependsOn: ['test-level'], summary: commonFlagMessages.getMessage('flags.tests.summary'), description: commonFlagMessages.getMessage('flags.tests.description'), // the old version allowed comma separated values, and the change is confusing enough to deserve a warning diff --git a/test/nuts/seeds/deploy.metadata.test-level.seed.ts b/test/nuts/seeds/deploy.metadata.test-level.seed.ts index 5991839d..5e07a25c 100644 --- a/test/nuts/seeds/deploy.metadata.test-level.seed.ts +++ b/test/nuts/seeds/deploy.metadata.test-level.seed.ts @@ -69,6 +69,15 @@ context('deploy metadata --test-level NUTs [name: %REPO_NAME%]', () => { }); await testkit.expect.specificApexTestsToBeRun(REPO.deploy.testLevel.specifiedTests); }); + + it('should set --test-level flag to (RunSpecifiedTests) if --tests flag is included', async () => { + const packages = testkit.packageNames.map((p) => `--source-dir ${p}`).join(' '); + const tests = REPO.deploy.testLevel.specifiedTests.join(','); + await testkit.deploy({ + args: `${packages} --tests ${tests}`, + }); + await testkit.expect.specificApexTestsToBeRun(REPO.deploy.testLevel.specifiedTests); + }); }); describe('test result format', () => {