Skip to content

Commit fad13a1

Browse files
author
Luca Forstner
committed
Add integration tests for transaction measurements
1 parent e617f7f commit fad13a1

File tree

4 files changed

+58
-0
lines changed

4 files changed

+58
-0
lines changed
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
const transaction = Sentry.startTransaction({ name: 'some_transaction' });
2+
3+
transaction.setMeasurement('metric.foo', 42, 'ms');
4+
transaction.setMeasurement('metric.bar', 1337, 'nanoseconds');
5+
transaction.setMeasurement('metric.baz', 99, 's');
6+
transaction.setMeasurement('metric.baz', 1);
7+
8+
transaction.finish();
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { expect } from '@playwright/test';
2+
import { Event } from '@sentry/types';
3+
4+
import { sentryTest } from '../../../../utils/fixtures';
5+
import { getFirstSentryEnvelopeRequest } from '../../../../utils/helpers';
6+
7+
sentryTest('should attach measurement to transaction', async ({ getLocalTestPath, page }) => {
8+
const url = await getLocalTestPath({ testDir: __dirname });
9+
const event = await getFirstSentryEnvelopeRequest<Event>(page, url);
10+
11+
expect(event.measurements?.['metric.foo'].value).toBe(42);
12+
expect(event.measurements?.['metric.bar'].value).toBe(1337);
13+
expect(event.measurements?.['metric.baz'].value).toBe(1);
14+
15+
expect(event.measurements?.['metric.foo'].unit).toBe('ms');
16+
expect(event.measurements?.['metric.bar'].unit).toBe('nanoseconds');
17+
expect(event.measurements?.['metric.baz'].unit).toBe('');
18+
});
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
const transaction = Sentry.startTransaction({ name: 'some_transaction' });
2+
3+
transaction.setMeasurements({
4+
'metric.foo': { value: 42, unit: 'ms' },
5+
'metric.bar': { value: 1337, unit: 'nanoseconds' },
6+
'metric.baz': { value: 99, unit: 's' },
7+
});
8+
9+
transaction.setMeasurements({
10+
'metric.bar': { value: 1337, unit: 'nanoseconds' },
11+
'metric.baz': { value: 1, unit: '' },
12+
});
13+
14+
transaction.finish();
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
import { expect } from '@playwright/test';
2+
import { Event } from '@sentry/types';
3+
4+
import { sentryTest } from '../../../../utils/fixtures';
5+
import { getFirstSentryEnvelopeRequest } from '../../../../utils/helpers';
6+
7+
sentryTest('should attach measurements to transaction', async ({ getLocalTestPath, page }) => {
8+
const url = await getLocalTestPath({ testDir: __dirname });
9+
const event = await getFirstSentryEnvelopeRequest<Event>(page, url);
10+
11+
expect(event.measurements?.['metric.foo'].value).toBe(42);
12+
expect(event.measurements?.['metric.bar'].value).toBe(1337);
13+
expect(event.measurements?.['metric.baz'].value).toBe(1);
14+
15+
expect(event.measurements?.['metric.foo'].unit).toBe('ms');
16+
expect(event.measurements?.['metric.bar'].unit).toBe('nanoseconds');
17+
expect(event.measurements?.['metric.baz'].unit).toBe('');
18+
});

0 commit comments

Comments
 (0)