From f0ae76208118652b61115462a9d858f7cc8a0161 Mon Sep 17 00:00:00 2001 From: Tavi Nolan Date: Thu, 4 Apr 2024 13:49:49 +0100 Subject: [PATCH] working test for githubPullRequest Signed-off-by: Tavi Nolan --- .../src/actions/githubPullRequest.test.ts | 31 +++++++++++++------ .../src/actions/githubPullRequest.ts | 4 --- 2 files changed, 22 insertions(+), 13 deletions(-) diff --git a/plugins/scaffolder-backend-module-github/src/actions/githubPullRequest.test.ts b/plugins/scaffolder-backend-module-github/src/actions/githubPullRequest.test.ts index c9d1498187..86197285f2 100644 --- a/plugins/scaffolder-backend-module-github/src/actions/githubPullRequest.test.ts +++ b/plugins/scaffolder-backend-module-github/src/actions/githubPullRequest.test.ts @@ -14,20 +14,21 @@ * limitations under the License. */ -import { createRootLogger } from '@backstage/backend-common'; -import { ConfigReader } from '@backstage/config'; -import { - GithubCredentialsProvider, - ScmIntegrations, -} from '@backstage/integration'; import { ActionContext, TemplateAction, } from '@backstage/plugin-scaffolder-node'; -import fs from 'fs-extra'; -import { createPublishGithubPullRequestAction } from './githubPullRequest'; -import { createMockDirectory } from '@backstage/backend-test-utils'; +import { + GithubCredentialsProvider, + ScmIntegrations, +} from '@backstage/integration'; + +import { ConfigReader } from '@backstage/config'; import { createMockActionContext } from '@backstage/plugin-scaffolder-node-test-utils'; +import { createMockDirectory } from '@backstage/backend-test-utils'; +import { createPublishGithubPullRequestAction } from './githubPullRequest'; +import { createRootLogger } from '@backstage/backend-common'; +import fs from 'fs-extra'; // Make sure root logger is initialized ahead of FS mock createRootLogger(); @@ -227,6 +228,18 @@ describe('createPublishGithubPullRequestAction', () => { ); expect(ctx.output).toHaveBeenCalledWith('pullRequestNumber', 123); }); + + it('handles dry run correctly', async () => { + ctx.isDryRun = true; + await instance.handler(ctx); + + expect(ctx.output).toHaveBeenCalledWith('targetBranchName', 'new-app'); + expect(ctx.output).toHaveBeenCalledWith( + 'remoteUrl', + 'github.com?owner=myorg&repo=myrepo', + ); + expect(ctx.output).toHaveBeenCalledWith('pullRequestNumber', 43); + }); }); describe('with sourcePath', () => { diff --git a/plugins/scaffolder-backend-module-github/src/actions/githubPullRequest.ts b/plugins/scaffolder-backend-module-github/src/actions/githubPullRequest.ts index a1606a0d95..e058bfcd94 100644 --- a/plugins/scaffolder-backend-module-github/src/actions/githubPullRequest.ts +++ b/plugins/scaffolder-backend-module-github/src/actions/githubPullRequest.ts @@ -324,10 +324,6 @@ export const createPublishGithubPullRequestAction = ( if (ctx.isDryRun) { ctx.logger.info( `Dry run arguments: ${{ - repoUrl, - branchName, - title, - description, ...ctx.input, }}`, );