mirror of
https://github.com/anthropics/claude-code-action.git
synced 2026-01-23 06:54:13 +08:00
Better fix: Control environment variables in agent test for predictable behavior
This commit is contained in:
@@ -104,6 +104,12 @@ describe("Agent Mode", () => {
|
|||||||
eventName: "workflow_dispatch",
|
eventName: "workflow_dispatch",
|
||||||
});
|
});
|
||||||
|
|
||||||
|
// Save original env vars and set test values
|
||||||
|
const originalHeadRef = process.env.GITHUB_HEAD_REF;
|
||||||
|
const originalRefName = process.env.GITHUB_REF_NAME;
|
||||||
|
delete process.env.GITHUB_HEAD_REF;
|
||||||
|
delete process.env.GITHUB_REF_NAME;
|
||||||
|
|
||||||
// Set CLAUDE_ARGS environment variable
|
// Set CLAUDE_ARGS environment variable
|
||||||
process.env.CLAUDE_ARGS = "--model claude-sonnet-4 --max-turns 10";
|
process.env.CLAUDE_ARGS = "--model claude-sonnet-4 --max-turns 10";
|
||||||
|
|
||||||
@@ -120,13 +126,12 @@ describe("Agent Mode", () => {
|
|||||||
expect(callArgs[1]).toContain("--mcp-config");
|
expect(callArgs[1]).toContain("--mcp-config");
|
||||||
expect(callArgs[1]).toContain("--model claude-sonnet-4 --max-turns 10");
|
expect(callArgs[1]).toContain("--model claude-sonnet-4 --max-turns 10");
|
||||||
|
|
||||||
// Verify return structure - branch will be whatever is in env or "main" as fallback
|
// Verify return structure - should use "main" as fallback when no env vars set
|
||||||
const expectedBranch = process.env.GITHUB_HEAD_REF || process.env.GITHUB_REF_NAME || "main";
|
|
||||||
expect(result).toEqual({
|
expect(result).toEqual({
|
||||||
commentId: undefined,
|
commentId: undefined,
|
||||||
branchInfo: {
|
branchInfo: {
|
||||||
baseBranch: "main",
|
baseBranch: "main",
|
||||||
currentBranch: expectedBranch,
|
currentBranch: "main",
|
||||||
claudeBranch: undefined,
|
claudeBranch: undefined,
|
||||||
},
|
},
|
||||||
mcpConfig: expect.any(String),
|
mcpConfig: expect.any(String),
|
||||||
@@ -134,6 +139,8 @@ describe("Agent Mode", () => {
|
|||||||
|
|
||||||
// Clean up
|
// Clean up
|
||||||
delete process.env.CLAUDE_ARGS;
|
delete process.env.CLAUDE_ARGS;
|
||||||
|
if (originalHeadRef !== undefined) process.env.GITHUB_HEAD_REF = originalHeadRef;
|
||||||
|
if (originalRefName !== undefined) process.env.GITHUB_REF_NAME = originalRefName;
|
||||||
});
|
});
|
||||||
|
|
||||||
test("prepare method creates prompt file with correct content", async () => {
|
test("prepare method creates prompt file with correct content", async () => {
|
||||||
|
|||||||
Reference in New Issue
Block a user