Mail Visual Regression library based on Email on Acid API service.
- Install
@researchgate/emailonacid-snapshotpackage as devDependency:
# yarn
yarn add --dev @researchgate/emailonacid-snapshot
# npm
npm install --save-dev @researchgate/emailonacid-snapshot-
Define
process.env.EOA_API_KEYandprocess.env.EOA_ACCOUNT_PASSWORDAPI credentials. -
Use
createEmailwith your favorite test runner:
const { createEmail } = require('@researchgate/emailonacid-snapshot');
async function run() {
const email = await createEmail('<html><!-- static markup --></html>');
const screenshot = await email.screenshot('outlook07');
// assert screenshot at this point
await email.clean();
}
run();Check options docs and examples for futher setup.
You can provide config with either one of package.json#emailonacid,
emailonacid.config.js, and .emailonacidrc.json.
Note: clients and plugins options are not merged but overridden.
clients<?Array<string>> List of default clients to create tests with.credentials<Object>apiKey<string> EoA API key. Defaults toprocess.env.EOA_API_KEY.accountPasswordEoA API password. Defaults toprocess.env.EOA_ACCOUNT_PASSWORD.
debug<?boolean> Enables verbose debug logging. Defaults toprocess.env.DEBUGorprocess.env.EOA_DEBUG.plugins<?Array<Function>> List of plugins to apply for each test. Default plugins are ThreadBustingPlugin, ContentRendererPlugin, LocalCopyPlugin, ContentCroppingPlugin. If you're willing to implement custom plugin, check one of those plugins for reference.poll<?Object> Polling options
See TypeScript typings for more API details.
import { createEmail } from '@researchgate/emailonacid-snapshot';Creates new email with default and global options. Returns email instance object.
import { configureCreateEmail } from '@researchgate/emailonacid-snapshot';Creates new email factory with default, global and provided options. Helpful for
creating multiple createEmail functions to defined different set of targets or
different renderers.
import { withDefaultPlugins } from '@researchgate/emailonacid-snapshot/config';Merges user-provided config with list of default plugins.
import { withOverridableClients } from '@researchgate/emailonacid-snapshot/config';Merges user-provided config with a dynamic list of clients which can be
overridden via EOA_CLIENTS environment variable.
MIT © ResearchGate