mirror of
https://github.com/chanzuckerberg/cellxgene.git
synced 2026-09-25 12:58:12 +08:00
* 1510-smoke-test * config default * update tests * update test config * fix linter errors * more comments * address comments * use npm install in push_tests.yml * use environment.default.json * adding docs * Take care of @mweiden's nits * Save screenshots in the __tests__/screenshots/ directory * typo * docs * Add chart tests (#1580) * merge tests * check if bin creation returned null before rendering charts (#1576) * check if bin creation returned null before rendering charts * refactor chart rendering into functions (#1577) * little fixes from PR * reintroduce fix to check for null values * change getAllByClass to return element * slice instead * new stackedbar test * feedback-1573-test (#1579) * feedback-1573-test * enable whole test set * revert tests Co-authored-by: Timmy Huang <tihuan@users.noreply.github.com> * tweak test to actually render chart * include snapshot * remove async * fix getAllHistograms * properly grab id Co-authored-by: Timmy Huang <tihuan@users.noreply.github.com> Co-authored-by: Matt Weiden <538456+mweiden@users.noreply.github.com> Co-authored-by: Severiano Badajoz <sbadajoz@chanzuckerberg.com>
29 lines
865 B
JavaScript
29 lines
865 B
JavaScript
const PuppeteerEnvironment = require("jest-environment-puppeteer");
|
|
require("jest-circus");
|
|
const ENV_DEFAULT = require("../../../environment.default.json");
|
|
|
|
const takeScreenshot = require("./takeScreenshot");
|
|
|
|
class ScreenshotEnvironment extends PuppeteerEnvironment {
|
|
async handleTestEvent(event, state) {
|
|
if (event.name === "error") {
|
|
console.log("error", JSON.stringify(event));
|
|
}
|
|
|
|
if (event.name === "test_fn_failure" || event.name === "hook_failure") {
|
|
// (thuang): We only want to take screenshot on the last try
|
|
if (
|
|
state.currentlyRunningTest.invocations <= ENV_DEFAULT.RETRY_ATTEMPTS
|
|
) {
|
|
return;
|
|
}
|
|
|
|
console.log("===> Failure event\n", new Date(), event);
|
|
|
|
await takeScreenshot(state.currentlyRunningTest.name, this.global.page);
|
|
}
|
|
}
|
|
}
|
|
|
|
module.exports = ScreenshotEnvironment;
|