@researchgate/emailonacid-snapshot v4.0.4
emailonacid-snapshot
Mail Visual Regression library based on Email on Acid API service.
Quick Start
- Install
@researchgate/emailonacid-snapshotpackage as devDependency:
# yarn
yarn add --dev @researchgate/emailonacid-snapshot
# npm
npm install --save-dev @researchgate/emailonacid-snapshotDefine
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.
Options
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
API
See TypeScript typings for more API details.
createEmail
import { createEmail } from '@researchgate/emailonacid-snapshot';Creates new email with default and global options. Returns email instance object.
configureCreateEmail
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.
withDefaultPlugins
import { withDefaultPlugins } from '@researchgate/emailonacid-snapshot/config';Merges user-provided config with list of default plugins.
withOverridableClients
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.
License
MIT © ResearchGate