diff --git a/cypress/cypress.config.js b/cypress/cypress.config.js index 7b37e4bda..55b40618c 100644 --- a/cypress/cypress.config.js +++ b/cypress/cypress.config.js @@ -1,5 +1,44 @@ const { defineConfig } = require("cypress"); +const browserify = require("@badeball/cypress-cucumber-preprocessor/browserify"); +const { addCucumberPreprocessorPlugin } = require("@badeball/cypress-cucumber-preprocessor"); +const dotenv = require('dotenv'); + +// Import backend .env (smart)? +const { parsed } = dotenv.config({ path: require.resolve('../backend/.env') }); + +// Test persistent(between commands) store +const testStore = {} + +async function setupNodeEvents(on, config) { + await addCucumberPreprocessorPlugin(on, config); + + on("file:preprocessor", browserify.default(config)); + + config.env.NEO4J_URI = parsed.NEO4J_URI + config.env.NEO4J_USERNAME = parsed.NEO4J_USERNAME + config.env.NEO4J_PASSWORD = parsed.NEO4J_PASSWORD + config.env.JWT_SECRET = parsed.JWT_SECRET + + on("task", { + pushValue({ name, value }) { + testStore[name] = value + return true + }, + getValue(name) { + console.log("getValue",name,testStore) + return testStore[name] + }, + }); + + on("after:run", (results) => { + if (results) { + console.log(results.status); + } + }); + + return config; +} module.exports = defineConfig({ e2e: { diff --git a/cypress/plugins/index.js b/cypress/plugins/index.js deleted file mode 100644 index 4e6b440ef..000000000 --- a/cypress/plugins/index.js +++ /dev/null @@ -1,41 +0,0 @@ -// *********************************************************** -// 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) - - -const cucumber = require('cypress-cucumber-preprocessor').default -const dotenv = require('dotenv') - -// Import backend .env (smart)? -const { parsed } = dotenv.config({ path: require.resolve('../../backend/.env') }) - -// Test persistent(between commands) store -const testStore = {} - -module.exports = (on, config) => { - config.env.NEO4J_URI = parsed.NEO4J_URI - config.env.NEO4J_USERNAME = parsed.NEO4J_USERNAME - config.env.NEO4J_PASSWORD = parsed.NEO4J_PASSWORD - config.env.JWT_SECRET = parsed.JWT_SECRET - on('file:preprocessor', cucumber()) - on('task', { - pushValue({ name, value }) { - testStore[name] = value - return true - }, - getValue(name) { - console.log("getValue",name,testStore) - return testStore[name] - }, - }) - return config -} \ No newline at end of file