/** * E2E Test: Newsletter */ import { test, expect } from '@playwright/test'; test.describe('Newsletter', () => { test('create campaign, select recipients from members, preview, send', async ({ page, }) => { // Create newsletter // Add recipients from member filter (status=active, hasEmail=true) // Preview with variable substitution // Dispatch // Verify sent_count }); test('template variable substitution works', async ({ page }) => { // Create template with {{first_name}} {{member_number}} // Create newsletter from template // Preview — verify variables replaced }); });