Skip to content

feat: enforce fixture-backed e2e setup - #38

Open
harshal015 wants to merge 1 commit into
masterfrom
feat/enforce-fixture-setup
Open

feat: enforce fixture-backed e2e setup#38
harshal015 wants to merge 1 commit into
masterfrom
feat/enforce-fixture-setup

Conversation

@harshal015

Copy link
Copy Markdown
Contributor

Description

app.clickup.com
Brief description of the changes made in this PR.

Type of Change

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to not work as expected)
  • Documentation update
  • Performance improvement
  • Refactoring (no functional changes)

Testing

  • Tests added/updated for new functionality
  • All existing tests pass
  • Manual testing completed
  • Edge cases tested

Checklist

  • Code follows the project's style guidelines
  • Self-review of code completed
  • Documentation updated (if applicable)
  • No breaking changes (or breaking changes are documented)
  • Changes are backward compatible
  • Linting passes (npm run lint)
  • Tests pass (npm test)
  • Type checking passes (npm run type-check)

Related Issues

Closes #(issue number)

Screenshots (if applicable)

Add screenshots to help explain your changes.

Additional Notes

Any additional information that reviewers should know.

Copilot AI review requested due to automatic review settings July 27, 2026 11:44
@harshal015
harshal015 requested a review from rvab as a code owner July 27, 2026 11:44

Copilot AI 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.

Pull request overview

Adds a new core ESLint rule (enforce-fixture-setup) intended to enforce fixture-backed E2E spec setup by requiring a sibling fixture.yml and flagging certain “fixture-supported” runtime setup calls when their results are unused.

Changes:

  • Introduces enforce-fixture-setup rule implementation and exports it from the core plugin entrypoint.
  • Adds comprehensive RuleTester coverage plus on-disk fixture directories/files to validate filesystem-based behavior.
  • Documents the new rule and links it from the docs index.

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
packages/core/src/rules/enforce-fixture-setup.js Implements the filesystem-backed rule and runtime-setup detection logic.
packages/core/src/index.js Exports the new rule from the plugin.
packages/core/src/tests/enforce-fixture-setup.test.js Adds RuleTester coverage for missing fixtures and fixture-backed runtime setup calls.
packages/core/src/tests/fixtures/fixture-setup/with-fixture/fixture.yml Adds a fixture file used by the new tests.
packages/core/src/tests/fixtures/fixture-setup/without-fixture/README.md Adds a placeholder file to keep a “no fixture” directory in git for tests.
packages/docs/rules/enforce-fixture-setup.md Adds end-user documentation for the new rule and supported methods.
packages/docs/README.md Adds the new rule to the documentation listing.

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment on lines +235 to +237
if (value.type === 'Identifier') {
return value.name === 'undefined';
}
@@ -0,0 +1 @@
This directory intentionally has no `fixture.yml` for the missing-fixture rule test.
@rvab
rvab requested a review from OmkarJ13 July 31, 2026 04:28

@rvab rvab left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Will review after @OmkarJ13 approval

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

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants