This PR adds the build, test & package workflow to the client code base as well. In order for us to run the Cypress tests, we also spin up a local server in a Docker container and run all our tests against that server. This ensures that our tests are faster to run as well. We also introduce the concept of stubbing network requests by stubbing the API that fetches the property pane configuration from the server. Results for the Cypress tests can be viewed at: https://dashboard.cypress.io/projects/eyxvp8/runs/
42 lines
1.2 KiB
JavaScript
42 lines
1.2 KiB
JavaScript
/// <reference types="cypress" />
|
|
// ***********************************************************
|
|
// This example plugins/index.js can be used to load plugins
|
|
//
|
|
// You can change the location of this file or turn off loading
|
|
// the plugins file with the 'pluginsFile' configuration option.
|
|
//
|
|
// You can read more here:
|
|
// https://on.cypress.io/plugins-guide
|
|
// ***********************************************************
|
|
|
|
// This function is called when a project is opened or re-opened (e.g. due to
|
|
// the project's config changing)
|
|
|
|
/**
|
|
* @type {Cypress.PluginConfig}
|
|
*/
|
|
module.exports = (on, config) => {
|
|
// `on` is used to hook into various events Cypress emits
|
|
// `config` is the resolved Cypress config
|
|
on("before:browser:launch", (browser = {}, launchOptions) => {
|
|
if (browser.name === "chrome") {
|
|
launchOptions.args.push("--disable-dev-shm-usage");
|
|
return launchOptions;
|
|
}
|
|
|
|
return launchOptions;
|
|
});
|
|
|
|
/**
|
|
* This task logs the message on the CLI terminal. Use with care because it can log sensitive details
|
|
* Example usage: cy.task('log', 'This is the message printed to the terminal')
|
|
*/
|
|
|
|
on("task", {
|
|
log(message) {
|
|
console.log(message);
|
|
return null;
|
|
},
|
|
});
|
|
};
|