import assert from 'node:assert/strict'; import test from 'node:test'; import { fetchMemindDiscoveryPages } from './umami-analytics.mjs'; test('fetchMemindDiscoveryPages rejects invalid discoveryChannel', async () => { await assert.rejects( () => fetchMemindDiscoveryPages( { discoveryChannel: 'direct' }, { env: { UMAMI_ADMIN_PASSWORD: 'secret' }, analyticsConfig: { websiteId: 'site-1' } }, ), /discoveryChannel 必须是 seo 或 geo/, ); }); test('fetchMemindDiscoveryPages rejects missing website id', async () => { await assert.rejects( () => fetchMemindDiscoveryPages( { discoveryChannel: 'seo', startAt: '1', endAt: '2' }, { env: { UMAMI_ADMIN_PASSWORD: 'secret' }, analyticsConfig: {} }, ), /未配置 Umami Website ID/, ); }); test('fetchMemindDiscoveryPages rejects missing auth credentials', async () => { await assert.rejects( () => fetchMemindDiscoveryPages( { discoveryChannel: 'geo', startAt: '1', endAt: '2' }, { env: {}, analyticsConfig: { websiteId: 'site-1' } }, ), /未配置 UMAMI_ADMIN_PASSWORD 或 MEMIND_UMAMI_SSO_SECRET/, ); });