leeoniya / leeoniya/uPlot

Screenshot testing

Open
#858 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
10.5k
Forks
463
PR merge metrics
No merged PRs in 30d

Description

Hi there, long time no see 😄

Things is we're using uPlot as a core library for our own featurefull library. Currently I'm focused on improving stability and reduce regressions in our library, so I decided to cover it with screenshot tests. I think that fundamental tests (like a visualisation types, series and axes rendering) should cover uPlot, not our library, cuz it's actually uPlot's tests and it's better to keep them in uPlot's repo.

What do you think about screenshot testing? I setup screenshot testing in our repo and I can easily setup the same in uPlot and bring some base tests. I'm simply using puppeteer + jest to take screenshots, I was thinking about only-canvas approach, but found out that eventually I'll want to test interaction with HTML elements etc, so I stick with browser screenshots. If you don't like my approach, we can discuss it and modify for uPlot. Anyway I found that tests would be useful.

Contributor guide

No contributing guide indexed for this repository

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

Review the Puppeteer + Jest screenshot-testing setup described in yagr PR 116 and compare it with uPlot's current test structure. Define a small base set of tests for visualization types, series, axes, and relevant HTML interactions; done means the approach is agreed and those screenshots are covered in uPlot.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
data-visualization, testing
Issue type
Feature
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.