Skip to content

Add generic Step chains with current execution and reporting support - #386

Merged
thomhurst merged 4 commits into
mainfrom
copilot/fix-266
Oct 19, 2026
Merged

thomhurst merged 4 commits into
mainfrom
copilot/fix-266

Conversation

Copilot AI commented Jul 31, 2025 •

Copy link
Copy Markdown
Contributor

Generic Step(...).Step(...) chains now use the current scenario definition/execution pipeline and can execute a single step or any number of steps without Given/When/Then phases.

  • Supports Action, Task, ValueTask and ValueTask, including cancellation-token async delegates, direct await, step/scenario text overrides and explicit arguments.
  • Preserves the existing typed builders and step-kind values; appends StepType.Step, records the new public APIs for both core targets, and enables source-generator/analyzer recognition.
  • Tests cover ordered execution, sync/async failures, cancellation, ValueTask steps, generated/custom text, JSON round-tripping, standalone HTML and Razor rendering. Includes sample usage and a compiled documentation example.

The optional StepKeyword/custom-phase/strict-order proposal in #266 is not adopted here. The current issue body requires compatible generic chains; replacing the existing builder families and report model is a separate architectural change. This implementation meets those acceptance criteria without changing existing Given/When/Then APIs or historical enum values.

Validation: .NET SDK 10.0.402 Release solution build (0 warnings/errors); all 12 test projects pass, including core 2,256 passed and 2 skipped because this Windows host lacks symbolic-link privileges; five focused generic-step regressions pass. Documentation production build and compiled-sample checks pass. NUnit's intentional framework-outcome tests retain their expected skips.

Closes #266

Copilot AI changed the title [WIP] Question about steps Add Step() chaining functionality for flexible test structure Jul 31, 2025
Copilot AI requested a review from thomhurst July 31, 2025 20:21
@zdmta

zdmta commented Dec 18, 2025

Copy link
Copy Markdown

this is still waiting for review?

@coderabbitai

coderabbitai Bot commented Oct 17, 2026 •

Copy link
Copy Markdown

Important

Review skipped

Bot user detected.

To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration
  • Configuration used: Organization UI
  • Review profile: CHILL
  • Plan: Advanced
  • Run ID: 85f55707-ce46-4524-8337-c490750505bf

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

Copilot AI and others added 2 commits October 19, 2026 13:56
Co-authored-by: thomhurst <30480171+thomhurst@users.noreply.github.com>
Co-authored-by: thomhurst <30480171+thomhurst@users.noreply.github.com>
@thomhurst thomhurst mentioned this pull request Oct 19, 2026
5 tasks done
@thomhurst thomhurst changed the title Add Step() chaining functionality for flexible test structure Add generic Step chains with current execution and reporting support Oct 19, 2026
@thomhurst
thomhurst marked this pull request as ready for review October 19, 2026 13:13
@thomhurst
thomhurst deployed to Pull Requests October 19, 2026 13:13 — with GitHub Actions Active
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ✅ Completed 2026-10-19T13:18:30.187167Z 2042654 Draft marked ready
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@thomhurst

Copy link
Copy Markdown
Owner

Rebased onto current main and completed the generic-chain implementation in 2042654; this PR is now ready for review and closes #266. All 12 test projects, the .NET 10.0.402 Release solution build, documentation build, and 28 compiled documentation examples passed. Core: 2,256 passed, 2 skipped for Windows symbolic-link privileges.

The optional generalized StepKeyword/phase/strict-order proposal is not adopted in this PR: #266's current acceptance criteria call for compatible generic chains. Keeping the existing builder families and historical enum values delivers that scope without a report-model migration. Generic steps share the current execution, text generation, cancellation and reporting paths.

@greptile-apps

greptile-apps Bot commented Oct 19, 2026 •

Copy link
Copy Markdown

RetriggerView in GreptileConfidence Score: 5/5

[Medium impact] The PR appears safe to merge; the previous example failure is fixed and no new actionable issues remain.

Summary

Adds generic Step(...).Step(...) chains using the existing execution and reporting flow.

  • Tests can run one or more steps without BDD phases.
  • Reports keep generic steps labeled as Step.

No new actionable issues were found in the changes since the previous review.

Reviews (2) · Last reviewed commit: "Fix generic step report keywords and det..." · Reviewed by Greptile

Comment thread BDTest.Example/StepPatternComparison.cs Outdated

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2042654140

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Comment thread BDTest.Example/StepPatternComparison.cs Outdated
Comment thread BDTest.Contracts/StepType.cs
@thomhurst
thomhurst deployed to Pull Requests October 19, 2026 13:43 — with GitHub Actions Active
@thomhurst

Copy link
Copy Markdown
Owner

Addressed both reviews in f591177 and resolved all three threads. The HTTP example findings are fixed with deterministic responses and matching OK assertions. The report keyword finding is fixed in both splitters, with regression assertions for standalone and hosted markup and matching documentation.

Validation: .NET SDK 10.0.402 Release solution build passed with zero warnings/errors; all 12 test projects passed (xUnit and TUnit projects run through their Microsoft.Testing.Platform entry points). Core: 2,256 passed, two skips for Windows symbolic-link privileges. All five comparison examples and five focused generic-step tests passed. Documentation production build passed. The rendering regression failed before the fix. Fresh CI/review is pending; no merge attempted in this unit.

@thomhurst
thomhurst merged commit 8a40945 into main Oct 19, 2026
10 checks passed
@thomhurst
thomhurst deleted the copilot/fix-266 branch October 19, 2026 13:58

This branch was successfully deployed

1 active deployment
Pull Requests — f591177d Deployed Oct 19, 2026 by thomhurst via modularpipeline #1429
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.

Feature: generic Step chaining without Given/When/Then

3 participants