mirror of
https://github.com/hanzoui/workflow-templates-broken-zap-2026-06-08.git
synced 2026-10-30 20:44:35 +00:00
27 lines
1.0 KiB
TypeScript
27 lines
1.0 KiB
TypeScript
import { describe, it, expect } from 'vitest';
|
|
import { getCloudCtaUrl } from '../../src/lib/urls';
|
|
|
|
describe('getCloudCtaUrl', () => {
|
|
it('includes all required UTM parameters', () => {
|
|
const url = getCloudCtaUrl('my-template', 'hero');
|
|
const parsed = new URL(url);
|
|
expect(parsed.searchParams.get('utm_source')).toBe('templates');
|
|
expect(parsed.searchParams.get('utm_medium')).toBe('web');
|
|
expect(parsed.searchParams.get('utm_campaign')).toBe('template-detail');
|
|
expect(parsed.searchParams.get('utm_content')).toBe('my-template');
|
|
expect(parsed.searchParams.get('utm_term')).toBe('hero');
|
|
expect(parsed.searchParams.get('template')).toBe('my-template');
|
|
});
|
|
|
|
it('uses cloud.hanzo.ai as base', () => {
|
|
const url = getCloudCtaUrl('test', 'footer');
|
|
expect(url).toContain('cloud.hanzo.ai');
|
|
});
|
|
|
|
it('includes mode=linear', () => {
|
|
const url = getCloudCtaUrl('test', 'nav');
|
|
const parsed = new URL(url);
|
|
expect(parsed.searchParams.get('mode')).toBe('linear');
|
|
});
|
|
});
|