Skip to content

Commit 45df80a

Browse files
xesrevinuGit Agent
andcommitted
test(cli): add assertions for CLI output
- Added checks for generated gitignore and scopes in CLI - Verified commit messages and file updates in CLI tests This commit enhances CLI integration tests by adding new assertions to validate the output during various command executions. Co-Authored-By: Git Agent <noreply@git-agent.dev>
1 parent 723d582 commit 45df80a

1 file changed

Lines changed: 29 additions & 0 deletions

File tree

tests/cli-integration.test.ts

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -276,6 +276,9 @@ describe.concurrent("CLI integration", () => {
276276
);
277277

278278
expect(result.exitCode).toBe(0);
279+
expect(result.stdout).toContain("init.generate-gitignore");
280+
expect(result.stdout).toContain("init.generate-scopes");
281+
expect(result.stdout).toContain("init.write-default-hook");
279282
expect(result.stdout).toContain(".gitignore updated: node");
280283
expect(result.stdout).toContain("scopes written");
281284

@@ -517,6 +520,18 @@ describe.concurrent("CLI integration", () => {
517520

518521
expect(result.exitCode).toBe(0);
519522
expect(llm.remainingResponses()).toBe(0);
523+
expect(result.stdout).toContain("commit.scan-changes");
524+
expect(result.stdout).toContain("commit.plan-groups");
525+
expect(result.stdout).toContain("commit.generate-message");
526+
expect(result.stdout).toContain("group_index=1");
527+
expect(result.stdout).toContain("commit.create");
528+
expect(result.stdout).toContain("Created 2 commits.");
529+
expect(result.stdout).toContain("1. feat(api): update routes");
530+
expect(result.stdout).toContain("Files: api/routes.ts");
531+
expect(result.stdout).toContain("- Adjust API routing output");
532+
expect(result.stdout).toContain("2. feat(web): refresh page");
533+
expect(result.stdout).toContain("Files: web/page.tsx");
534+
expect(result.stdout).toContain("- Refresh dashboard copy");
520535

521536
const subjects = trimmedLines((yield* git(repo, ["log", "--format=%s", "-n", "2"])).stdout);
522537
expect(subjects).toEqual(["feat(web): refresh page", "feat(api): update routes"]);
@@ -825,6 +840,20 @@ describe.concurrent("CLI integration", () => {
825840

826841
expect(result.exitCode).toBe(0);
827842
expect(llm.remainingResponses()).toBe(0);
843+
expect(result.stdout).toContain("commit.scan-changes");
844+
expect(result.stdout).toContain('vcs="jj"');
845+
expect(result.stdout).toContain("commit.plan-groups");
846+
expect(result.stdout).toContain("commit.generate-message");
847+
expect(result.stdout).toContain("commit.create");
848+
expect(result.stdout).toContain("Created 2 commits.");
849+
expect(result.stdout).toContain("1. fix(cli): refine app output");
850+
expect(result.stdout).toContain("Files: src/app.ts");
851+
expect(result.stdout).toContain("- Update the working-copy value");
852+
expect(result.stdout).toContain("2. fix(core): adjust feature flag");
853+
expect(result.stdout).toContain("Files: src/feature.ts");
854+
expect(result.stdout).toContain("- Update the feature toggle");
855+
expect(result.stdout).toContain("Working copy (@) now at:");
856+
expect(result.stdout).toContain("Parent commit (@-)");
828857

829858
const descriptions = trimmedLines(
830859
(yield* jj(repo, [

0 commit comments

Comments
 (0)