| 123456789101112131415161718192021222324252627282930313233343536373839 |
- const test = require('node:test');
- const assert = require('node:assert/strict');
- const fs = require('node:fs');
- test('background imports generated email helper module', () => {
- const source = fs.readFileSync('background.js', 'utf8');
- assert.match(source, /importScripts\([\s\S]*'background\/generated-email-helpers\.js'/);
- });
- test('generated email helper module exposes a factory', () => {
- const source = fs.readFileSync('background/generated-email-helpers.js', 'utf8');
- const globalScope = {};
- const api = new Function('self', `${source}; return self.MultiPageGeneratedEmailHelpers;`)(globalScope);
- assert.equal(typeof api?.createGeneratedEmailHelpers, 'function');
- });
- test('generated email helper supports a4sky mailbox format', async () => {
- const source = fs.readFileSync('background/generated-email-helpers.js', 'utf8');
- const globalScope = {};
- const api = new Function('self', `${source}; return self.MultiPageGeneratedEmailHelpers;`)(globalScope);
- let savedEmail = null;
- const helpers = api.createGeneratedEmailHelpers({
- addLog: async () => {},
- getState: async () => ({ mailProvider: 'a4sky' }),
- normalizeEmailGenerator: () => 'duck',
- setEmailState: async (email) => {
- savedEmail = email;
- },
- throwIfStopped: () => {},
- });
- const email = await helpers.fetchGeneratedEmail({ mailProvider: 'a4sky' });
- assert.match(email, /^n\d{14}@edu\.a4sky\.com$/i);
- assert.equal(savedEmail, email);
- });
|