29 lines
1.1 KiB
JavaScript
Raw Normal View History

'use strict';
const { isValidEmailTemplate } = require('../email-template');
describe('isValidEmailTemplate', () => {
test('Accepts one valid pattern', () => {
expect(isValidEmailTemplate('<%= CODE %>')).toBe(true);
expect(isValidEmailTemplate('<%=CODE%>')).toBe(true);
});
test('Refuses invalid patterns', () => {
expect(isValidEmailTemplate('<%- CODE %>')).toBe(false);
expect(isValidEmailTemplate('<% CODE %>')).toBe(false);
expect(isValidEmailTemplate('<%= <% CODE %> %>')).toBe(false);
expect(isValidEmailTemplate('<%- <% CODE %> %>')).toBe(false);
expect(isValidEmailTemplate('${ <% CODE %> }')).toBe(false);
expect(isValidEmailTemplate('<%CODE%>')).toBe(false);
expect(isValidEmailTemplate('${CODE}')).toBe(false);
expect(isValidEmailTemplate('${ CODE }')).toBe(false);
});
test('Fails on non authorized keys', () => {
expect(isValidEmailTemplate('<% random expression %>')).toBe(false);
expect(isValidEmailTemplate('<% random expression }%>')).toBe(false);
expect(isValidEmailTemplate('<% some.var.azdazd %>')).toBe(false);
expect(isValidEmailTemplate('<% function() %>')).toBe(false);
});
});