Skip to content

[ZEPHYR] TM4J-14847: Add a new tool test execution update test steps#386

Open
BenzoEnzo wants to merge 13 commits intomainfrom
TM4J-14847-test-execution-update-test-steps
Open

[ZEPHYR] TM4J-14847: Add a new tool test execution update test steps#386
BenzoEnzo wants to merge 13 commits intomainfrom
TM4J-14847-test-execution-update-test-steps

Conversation

@BenzoEnzo
Copy link
Contributor

Goal

This PR will provide functionality for updating a Test Execution Steps for user

Design

To be in line with things done for other Zephyr integrations, introduce PUT call type

Changeset

  • Add new update-test-steps.ts tool for updating Test steps for Test Execution tool
  • Modify client.ts to register new tool
  • Modify Zephyr documentation zephyr-integration.md to include new Test Execution Steps update capability
  • Add update-test-steps.test.ts to test new tool for updating Test Steps for Test Execution

Testing

  • Unit tests
  • Verify new tool is properly recognized and loaded by Copilot Agent, then tested it with different prompts (simple ones giving lot of autonomy to the agent, and more complex one expecting the agent to make extra calls to build proper request payload)

@github-actions
Copy link
Contributor

github-actions bot commented Mar 20, 2026

🎯 Coverage Target Met!

📈 Coverage Metrics

Metric Coverage Target Status
Lines 93.6% 80%
Functions 86.0% 80%
Branches 86.8% 80%
Statements 93.6% 80%

📊 Test Statistics

  • Total Lines: 20,791 / 22,222
  • Total Functions: 320 / 372
  • Total Branches: 946 / 1090
  • Total Statements: 20791 / 22222

🔍 Files Needing Coverage

File Coverage
src/reflect/prompt/sap-test.ts 9.5%
src/qmetry/client/testsuite.ts 10.3%
src/common/prompts.ts 16.7%
src/qmetry/client/issues.ts 20.1%
src/swagger/client/api.ts 30.0%

📝 Report generated on Node.js v24.13.1 • View workflow • Coverage by Vitest + v8

Copy link
Contributor

@assisblf assisblf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Nice @BenzoEnzo! I added some comments

Comment on lines +55 to +71
{
description:
"Mark the second step in test execution 'SA-E5' as failed (keep everything else unchanged).",
parameters: {
testExecutionIdOrKey: "SA-E5",
steps: [
{
statusName: "Pass",
},
{
statusName: "Fail",
},
],
},
expectedOutput:
"The test execution steps are updated, but no output is expected.",
},
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Accepting an incomplete list of steps could produce confusing scenarios. I'd recommend not dealing with incomplete steps, but we can discuss this internally with the PM if you're not sure.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure, I will ask PM about that

Copy link
Contributor Author

@BenzoEnzo BenzoEnzo Mar 25, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hey @assisblf, Since we got a green light from the PM to add this capability, I added a part of logic to support updating a specific step. It conditionally builds the payload so only the intended fields are updated, while the rest remain unchanged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants