MetaMask / MetaMask/metamask-extension

Come up with a way to detect if someone is not using the POM pattern in e2e tests and notify them.

Open
#27,045 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

team-extension-platform
Dominant language
TypeScript
Stars
13.2k
Forks
5.6k
Avg merge
2d 5h
Merged PRs (30d)
451

Description

What is this about?

As part of the Engineering Technical sync the following question was asked:
Is there a way to detect if someone is adding an e2e test that isn't using POM and should be?

This issue is a place holder for us to think about and discuss possibilities here.

Scenario

No response

Design

Potential approaches:

  • QA should write possible reusable functions to make them easily adaptable by developers.
  • When performing code reviews, check that the POM design pattern has been followed and implemented and this could be included in the review checklist.
  • Encourage peer programming sessions for individuals who have not followed or need help following the pattern.
  • Promote team wise training sessions and walkthroughs with clear expectations for writing test scenarios.
  • Implement linting rules to enforce coding standards, with custom rules to detect deviations from the POM pattern, and integrate these as CI checks to flag tests that do not follow the POM pattern.
Technical Details

No response

Threat Modeling Framework

No response

Acceptance Criteria

No response

Stakeholder review needed before the work gets merged
  • Engineering (needed in most cases)
  • Design
  • Product
  • QA (automation tests are required to pass before merging PRs but not all changes are covered by automation tests - please review if QA is needed beyond automation tests)
  • Security
  • Legal
  • Marketing
  • Management (please specify)
  • Other (please specify)
References

No response

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

No files, tests, or entry points are identified in the issue. First clarify whether the expected outcome is a review checklist, training, reusable helpers, or linting and CI enforcement; define acceptance criteria and the relevant e2e test locations before implementation.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
testing
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.