-
Notifications
You must be signed in to change notification settings - Fork 89
Issue Verification
When an issue has been given the 4 - installed lifecycle label, the next step is for the Product Engineers (PEs) to verify that the installed code fulfills the acceptance criteria without introducing any new bugs or regressions.
To view issues that are installed and need to be picked up for verification along with those assigned to yourself, use this GitHub filter:
sort:updated-desc is:issue is:open label:"4 - installed" (no:assignee OR assignee:@me)
Use this list as a general, but not exact, guideline for verifying issues.
-
Assign the issue to yourself.
-
Read through the issue to gain an full understanding of the situation and look for any possible side affects.
-
Test the original state, looking at the incorrect behavior and general behavior to be aware of the full context.
-
Test the new state, ensuring the fix or feature is in place and meets the acceptance criteria. Additionally, look carefully for any regressions or bugs. Think critically about what else the change could affect. See the testing new state section for more details.
-
Once verified, change the lifecycle label from
4 - installedto5 - verifiedand ensure the correct milestone is assigned.
-
Close the issue with a comment, providing what version it was verified with and as much context as possible. Typically, this may follow a format of "Verified with
X.X.X-next.XXvia {{CodePen URL}}" OR "Verified withX.X.X-next.XXlocally" with the inclusion of a photo/video/GIF that shows the change.
There are a a few common methods used to test behavior changes:
-
CodePen: many times the issue author will include a link to a CodePen or Component Sample that displays the wrong/unexpected behavior. Cloning the CodePen or opening the Sample as a CodePen is often the easiest way to test the new state. In the new CodePen, change the Calcite CDN import to the
@nextversion and make any requires code changes. -
Locally: if CodePen is not a good environment for the situation, you can test changes with the Component Demos pages on the
devbranch and include a photo/video in the closing comment that displays the change. -
Documentation: for changes affecting the public documentation of components, run the Calcite Documentation Site locally using a
@nextversion of Calcite. To do so, adjust the@esri/calcite-components--internal-docversion in thepackage.jsonfile to a specific"X.X.X.-next.XX"version and runnpm install. This will fetch the specified version of documentation and set the version for Component Samples. To revert, undo the version change in thepackage.jsonfile and runnpm installagain.
Note
Package deployments (available via NPM/CDN) are only triggered by merging commits that use the fix and feat conventional commit types. If the commit for the PR to be verified is not of one of these types, check if a Tag version is displayed at the top of the PR or refer to the Calcite Repo Tags page to see if a Tag release has happened since the PR merge. See images below for examples of each method.
If the PR is not included in a release, verification can be done locally or be delayed until the next Tag release.
- Using exclusively mouse interactions, test acceptance criteria and prior behavior.
- Using exclusively keyboard interactions, test acceptance criteria and prior behavior.
- Test for any possible regressions newly introduced bugs.
- When it might be affected, test with assistive technologies. For VM access, see requesting a VM.
- If a new component property is introduced, ensure that the property has been added to the possible arguments configuration in the component's Storybook
stories.tsfile. - For code refactoring changes with no intended change in behavior, there is no specific proof to display, but ensure that the component functions as expected without any regressions or bugs.
- If impacted, test right to left languages.
When testing/verifying new components, the process changes. Use the list below as a general guide.
- Test the general functionality/behavior of the component.
- Compare styling/visual behavior with the final Figma specifications.
- Confirm the properties, attributes, methods, and events are working as intended.
- Make sure there are tests covering any required props/attributes.
- Have 1 or 2 other PEs do a pass over the component to reduce the changes of missing anything.
During verification, if you find acceptance criteria are not met or there is unexpected behavior, follow the steps below:
Note
The bounce back label indicates that work has been done (merged), but more work is needed to be verified and completed. It helps quickly identify the issue's state, allowing for easier and more successful planning when moving issues in/out of milestones.
- Investigate if the behavior was present prior to the PR merge.
- If yes, create a new issue and continue with verification, mentioning the finding and new issue in the verification comment.
- If no, continue through the steps.
- Add a comment with the following:
- The Calcite version number used to test the issue.
- What acceptance criteria has been met.
- What acceptance criteria has not been met.
- Any new behavior or findings that were discovered during testing.
- A tag of the developer and/or designer who worked on the issue, along with
@Esri/calcite-pes. - CodePens, screenshots, or recordings where applicable.
- If needed, a question asking if the findings are expected or how to proceed.
- Removed the
4 - installedlabel. - Add the
3 - in developmentandbounce backlabels.
- Monorepo
- Global Config
- Coding Conventions
- Testing Conventions
- Patching Packages
- Deprecation Guidance
- Continuous Integration
- GitHub Secrets
- Troubleshoot Build Errors
- Tips and Tricks
- NPM FAQ
- Issue Verification
- Wiki Conventions
- Styling Conventions
- CSS Transitions
- Restricting User Input
- ItemHidden Property
- What Happens When You Scale Vector-Based Icons
- Internationalization
- Introduction
- Getting Started
- Naming Schema
- Semantic Tokens
- Component Tokens
- Web Platform
- Build
- Documentation
- Testing
- Contributing