2.9.0-beta.1 • Published 11 months ago

@app-config/cypress v2.9.0-beta.1

Weekly downloads
318
License
MPL-2.0
Repository
github
Last release
11 months ago

App Config Cypress

This package provides utilities to use App Config with Cypress.io.

Install:

yarn add -D @app-config/cypress

Add to ./cypress/support/index.js:

require('@app-config/cypress').register();

In your integration tests:

// this import will import the types for setAppConfig!
import '@app-config/cypress';

describe('Config Loading', () => {
  it('should mock the configuration value', () => {
    cy.setAppConfig({
      foo: 'https://overwritten.com',
      bar: 'some configuration value',
    });

    // be sure to setAppConfig before calling visit()
    cy.visit('/');
  });
});

Using Config in Tests

Use the Webpack Preprocessor with the App Config Plugin.

Cypress only allows one preprocessor at once, so we can't provide a preprocessor to do this.

Example ./cypress/plugins/index.js:

const webpackPreprocessor = require('@cypress/webpack-preprocessor');
const { default: AppConfigPlugin } = require('@app-config/webpack');

module.exports = (on) => {
  const options = {
    webpackOptions: {
      mode: 'development',
      module: {
        rules: [
          { test: AppConfigPlugin.regex, use: { loader: AppConfigPlugin.loader } },
          {
            test: /\.jsx?$/,
            exclude: [/node_modules/],
            use: [
              {
                loader: 'babel-loader',
                options: {
                  presets: ['@babel/preset-env'],
                },
              },
            ],
          },
          {
            test: /\.tsx?$/,
            use: 'ts-loader',
            exclude: /node_modules/,
          },
        ],
      },
      plugins: [new AppConfigPlugin()],
    },
  };

  on('file:preprocessor', webpackPreprocessor(options));
};

This allows you to use @app-config/main imports in your tests, hassle free.

2.9.0-beta.1

11 months ago

2.8.7

1 year ago

2.8.6

1 year ago

2.8.5

2 years ago

2.8.3

2 years ago

2.8.4

2 years ago

2.8.2

2 years ago

2.8.1

3 years ago

3.0.0-alpha.6

3 years ago

3.0.0-alpha.5

3 years ago

2.8.0

3 years ago

2.7.2

3 years ago

2.7.1

3 years ago

2.7.0

3 years ago

2.6.1

3 years ago

2.6.0

3 years ago

2.5.2

3 years ago

2.5.0

3 years ago

2.5.1

3 years ago

3.0.0-alpha.4

3 years ago

2.4.6

3 years ago

3.0.0-alpha.3

3 years ago

3.0.0-alpha.1

3 years ago

3.0.0-alpha.2

3 years ago

2.4.5

3 years ago

2.4.4

3 years ago

2.4.3

3 years ago

2.4.1

3 years ago

2.4.0

3 years ago

2.4.2

3 years ago

2.3.4

3 years ago

2.3.3

3 years ago

2.3.2

3 years ago

2.3.1

3 years ago

2.3.0

3 years ago

2.2.2

3 years ago

2.2.1

3 years ago

2.2.0

3 years ago

2.1.8

3 years ago

2.1.6

3 years ago

2.1.7

3 years ago

2.1.5

3 years ago

2.1.4

3 years ago

2.1.3

3 years ago

2.1.2

3 years ago

2.1.1

3 years ago

2.1.0

3 years ago

2.1.0-alpha.1

3 years ago

2.1.0-alpha.0

3 years ago

2.0.6

3 years ago

2.0.5

3 years ago

2.0.4

3 years ago

2.0.4-beta.0

3 years ago