33 lines
1.2 KiB
TypeScript
33 lines
1.2 KiB
TypeScript
|
|
import { describe, it, expect } from 'vitest'
|
||
|
|
import { readFileSync } from 'fs'
|
||
|
|
import { fileURLToPath } from 'url'
|
||
|
|
import { dirname, join } from 'path'
|
||
|
|
|
||
|
|
const __dirname = dirname(fileURLToPath(import.meta.url))
|
||
|
|
const templatePath = join(__dirname, '..', 'src', 'emails', 'digest.mjml')
|
||
|
|
const source = readFileSync(templatePath, 'utf8')
|
||
|
|
const lines = source.split('\n')
|
||
|
|
|
||
|
|
describe('digest.mjml brandAccent usage', () => {
|
||
|
|
it('.event-item border-left does NOT hardcode #7161FF', () => {
|
||
|
|
const hasHardcoded = lines.some(l => l.includes('.event-item') && l.includes('#7161FF'))
|
||
|
|
expect(hasHardcoded).toBe(false)
|
||
|
|
})
|
||
|
|
|
||
|
|
it('.footer a color does NOT hardcode #7161FF', () => {
|
||
|
|
const hasHardcoded = lines.some(l => l.includes('.footer a') && l.includes('#7161FF'))
|
||
|
|
expect(hasHardcoded).toBe(false)
|
||
|
|
})
|
||
|
|
|
||
|
|
it('.event-item border-left uses {{brandAccent}}', () => {
|
||
|
|
const eventItemLine = lines.find(l => l.includes('.event-item'))
|
||
|
|
expect(eventItemLine).toBeDefined()
|
||
|
|
expect(eventItemLine).toContain('{{brandAccent}}')
|
||
|
|
})
|
||
|
|
|
||
|
|
it('.footer a color uses {{brandAccent}}', () => {
|
||
|
|
const footerALine = lines.find(l => l.includes('.footer a'))
|
||
|
|
expect(footerALine).toBeDefined()
|
||
|
|
expect(footerALine).toContain('{{brandAccent}}')
|
||
|
|
})
|
||
|
|
})
|