Update expanded metrics bounce assertions for custom events

This commit is contained in:
Mike Cao committed 2026-07-29 20:21:24 -07:00
1 parent 0a80d09d0b
commit 7f66f31f3f
1 file changed
+13 -2
@@ -1,6 +1,8 @@
import { beforeEach, describe, expect, test, vi } from 'vitest'; import { beforeEach, describe, expect, test, vi } from 'vitest';
import { import {
BOUNCE_THRESHOLD,
EMAIL_DOMAINS, EMAIL_DOMAINS,
EVENT_TYPE,
LLM_DOMAINS, LLM_DOMAINS,
PAID_AD_PARAMS, PAID_AD_PARAMS,
SEARCH_DOMAINS, SEARCH_DOMAINS,
@@ -83,7 +85,12 @@ describe('getChannelExpandedMetrics postgres branch', () => {
expect(query).toContain('sum(visit_stats.c) as "pageviews"'); expect(query).toContain('sum(visit_stats.c) as "pageviews"');
expect(query).toContain('count(distinct visit_stats.session_id) as "visitors"'); expect(query).toContain('count(distinct visit_stats.session_id) as "visitors"');
expect(query).toContain('count(distinct visit_stats.visit_id) as "visits"'); expect(query).toContain('count(distinct visit_stats.visit_id) as "visits"');
expect(query).toContain('sum(case when visit_stats.c = 1 then 1 else 0 end) as "bounces"'); expect(query).toContain('visit_events as');
expect(query).toContain(`and event_type = ${EVENT_TYPE.customEvent}`);
expect(query).toContain('left join visit_events');
expect(query).toContain(
`sum(case when visit_stats.c = 1 and coalesce(visit_events.events_count, 0) < ${BOUNCE_THRESHOLD} then 1 else 0 end) as "bounces"`,
);
// getTimestampDiffSQL output is injected into the totaltime column // getTimestampDiffSQL output is injected into the totaltime column
expect(query).toContain('sum(ts_diff(min_time, max_time)) as "totaltime"'); expect(query).toContain('sum(ts_diff(min_time, max_time)) as "totaltime"');
expect(getTimestampDiffSQL).toHaveBeenCalledWith( expect(getTimestampDiffSQL).toHaveBeenCalledWith(
@@ -151,7 +158,11 @@ describe('getChannelExpandedMetrics clickhouse branch', () => {
expect(query).toContain('uniq(t.session_id) as "visitors"'); expect(query).toContain('uniq(t.session_id) as "visitors"');
expect(query).toContain('uniq(t.visit_id) as "visits"'); expect(query).toContain('uniq(t.visit_id) as "visits"');
expect(query).toContain('sum(if(t.c = 1, 1, 0)) as "bounces"'); expect(query).toContain(
`sumIf(1, t.c = 1 and ifNull(e.events_count, 0) < ${BOUNCE_THRESHOLD}) as "bounces"`,
);
expect(query).toContain(`and event_type = ${EVENT_TYPE.customEvent}`);
expect(query).toContain('as e using (session_id, visit_id)');
expect(query).toContain('sum(max_time-min_time) as "totaltime"'); expect(query).toContain('sum(max_time-min_time) as "totaltime"');
expect(query).toContain('where website_id = {websiteId:UUID}'); expect(query).toContain('where website_id = {websiteId:UUID}');
expect(query).toContain( expect(query).toContain(