Reputation: 127
I am struggling to add a second module.export cypress/plugin/index.js
My Current cypress/plugin/index.js file look like this
/// <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}
*/
// eslint-disable-next-line no-unused-vars
const { on } = require('events');
const fs = require('fs-extra');
const path = require('path');
function getConfigurationByFile(file) {
const pathToConfigFile = path.resolve('config', `${file}.json`);
return fs.readJson(pathToConfigFile);
}
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
const file = config.env.configFile || 'qa';
return getConfigurationByFile(file);
};
I want to add the following to cypress/plugin/index.js:
require('cypress-grep/src/plugin')(config)
// make sure to return the config object
// as it might have been modified by the plugin
return config
Upvotes: 3
Views: 5841
Reputation: 2555
If you have your plugins set up correctly, then it may be the environment variables passed via command line. Here is an example repo of using cypress-grep and configuration files.
Upvotes: -1
Reputation: 7125
I believe that you can pass in the config from your function to your require
and then return that new config.
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
const file = config.env.configFile || 'qa';
let newConfig = getConfigurationByFile(file);
require('cypress-grep/src/plugin')(newConfig);
return newConfig;
};
Since your getConfigurationByFile()
function returns a JSON Object like the original config
, and the cypress-grep
plugin takes in a JSON Object, you can probably just add the resolved JSON from getConfigurationByFile
instead of the standard one provided by config
.
Upvotes: 2