diff --git a/packages/remix/test/integration/test/server/utils/helpers.ts b/packages/remix/test/integration/test/server/utils/helpers.ts index 981be12f314a..909d8d1671ae 100644 --- a/packages/remix/test/integration/test/server/utils/helpers.ts +++ b/packages/remix/test/integration/test/server/utils/helpers.ts @@ -4,7 +4,7 @@ import * as path from 'path'; import { createRequestHandler } from '@remix-run/express'; /* eslint-disable @typescript-eslint/no-unsafe-member-access */ import * as Sentry from '@sentry/node'; -import type { EnvelopeItemType } from '@sentry/types'; +import type { EnvelopeItemType, Event, TransactionEvent } from '@sentry/types'; import { logger } from '@sentry/utils'; import type { AxiosRequestConfig } from 'axios'; import axios from 'axios'; @@ -14,8 +14,6 @@ import type { HttpTerminator } from 'http-terminator'; import { createHttpTerminator } from 'http-terminator'; import nock from 'nock'; -export * from '../../../../../../../dev-packages/node-integration-tests/utils'; - type DataCollectorOptions = { // Optional custom URL url?: string; @@ -284,3 +282,33 @@ export class RemixTestEnv extends TestEnv { const parseEnvelope = (body: string): Array> => { return body.split('\n').map(e => JSON.parse(e)); }; + +/** + * Asserts against a Sentry Event ignoring non-deterministic properties + * + * @param {Record} actual + * @param {Record} expected + */ +export const assertSentryEvent = (actual: Event, expected: Record): void => { + expect(actual).toMatchObject({ + event_id: expect.any(String), + ...expected, + }); +}; + +/** + * Asserts against a Sentry Transaction ignoring non-deterministic properties + * + * @param {Record} actual + * @param {Record} expected + */ +export const assertSentryTransaction = (actual: TransactionEvent, expected: Record): void => { + expect(actual).toMatchObject({ + event_id: expect.any(String), + timestamp: expect.anything(), + start_timestamp: expect.anything(), + spans: expect.any(Array), + type: 'transaction', + ...expected, + }); +};