impress-2020/cypress/plugins/index.js
Matchu 93bc960221 Cypress hint to ensure minimum window size
Lol this is mostly to stop me from accidentally launching it too small 😅

also there seemed to be subtle pixel shifts from some of this? idk still flakier than I want I guess, but hopefully it sticks a bit better now with the new window size hints…
2021-05-04 13:15:27 -07:00

39 lines
1.2 KiB
JavaScript

require("dotenv").config();
const { initPlugin } = require("cypress-plugin-snapshots/plugin");
module.exports = (on, config) => {
initPlugin(on, config);
ensureWindowSize(on);
config.env.AUTH0_TEST_CLIENT_ID = process.env.AUTH0_TEST_CLIENT_ID;
config.env.AUTH0_TEST_CLIENT_SECRET = process.env.AUTH0_TEST_CLIENT_SECRET;
config.env.DTI_TEST_USER_PASSWORD = process.env.DTI_TEST_USER_PASSWORD;
return config;
};
// Our screenshots from `cypress-plugin-snapshots` are affected by the actual
// window size, not just the viewport size! To avoid downscaling outfit
// previews, try to open the window at 1000x800 at minimum.
function ensureWindowSize(on) {
const w = 1000;
const h = 800;
on("before:browser:launch", (browser = {}, launchOptions) => {
switch (browser.name) {
case "chrome":
launchOptions.args.push(`--window-size=${w},${h}`);
break;
case "electron":
launchOptions.preferences.width = w;
launchOptions.preferences.height = h;
break;
default:
console.warn(
`[ensureWindowSize] Browser engine ${browser.name} not recognized`
);
}
return launchOptions;
});
}