mirror of
https://github.com/hanzoai/team.git
synced 2026-10-30 14:49:35 +00:00
* Switch Cypress to use shared ESLint config * Run --fix in Cypress * Manually fix remaining lint issues in Cypress * Switch Playwright to use shared ESLint config * Run --fix in Playwright * Manually fix remaining lint issues in Playwright * Install and cache web app deps during Cypress CI builds This also caches the types and client package. That isn't needed currently since it uses prepackaged versions of those, but I imagine we might change that at some point. * Run e2e-tests-check when ESLint plugin is updated * Change E2E test GHA caching to cache all of web app node_modules * Fix mismatch between cache save and restore * Try bumping cache keys * Copy step to install dependencies to server.run_cypress.sh I don't know how this must've worked before, but if this fixes the issue, it seems like neither Cypress nor Playwright actually use the cached depenendencies. * Try disabling caching entirely for Cypress tests * Try bypassing makefile? * Try also manually building dependencies in run_specs.sh I don't know why this appears to duplicate run_cypress.sh and run_playwright.sh, both of which are called run_test.sh which might not be used any more as best I can tell. * Try installing the web app dependencies in yet another place * Disable the extra steps in server.prepare.sh specifically for Cypress * Revert changes to update cache key and disable web app depenedency cache on Cypress builds
37 lines
1.4 KiB
TypeScript
37 lines
1.4 KiB
TypeScript
// Copyright (c) 2015-present Mattermost, Inc. All Rights Reserved.
|
|
// See LICENSE.txt for license information.
|
|
|
|
chai.use((chai: Chai.ChaiStatic) => {
|
|
// Chai assertion context has dynamic 'this' binding
|
|
function assertIsFoo(this: any, {exactStyles = true} = {}) {
|
|
// eslint-disable-next-line no-underscore-dangle
|
|
const obj = this._obj as JQuery<HTMLElement>;
|
|
|
|
this.assert(
|
|
obj.hasClass('a11y--active'),
|
|
'expected #{this} to have a11y--active class',
|
|
'expected #{this} to not have a11y--active class',
|
|
obj,
|
|
);
|
|
|
|
// These should match the styles set on :focus-visible in sass/utils/_modifiers.scss
|
|
this.assert(
|
|
exactStyles ? obj.css('box-shadow').includes('0px 0px 1px 3px') : Boolean(obj.css('box-shadow')),
|
|
'expected #{this} to have focused element style (box-shadow)',
|
|
'expected #{this} to not have focused element style (box-shadow)',
|
|
obj.css('box-shadow'),
|
|
);
|
|
|
|
this.assert(
|
|
exactStyles ? obj.css('border-radius') === '4px' : Boolean(obj.css('border-radius')),
|
|
'expected #{this} to have focused element style (border-radius)',
|
|
'expected #{this} to not have focused element style (border-radius)',
|
|
obj.css('border-radius'),
|
|
);
|
|
|
|
return this;
|
|
}
|
|
|
|
chai.Assertion.addMethod('a11yVisible', assertIsFoo);
|
|
});
|