123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- import type {InitializeDataSettings} from 'sentry-test/performance/initializePerformanceData';
- import {initializeData as _initializeData} from 'sentry-test/performance/initializePerformanceData';
- import {act, cleanup, render, screen} from 'sentry-test/reactTestingLibrary';
- import ProjectsStore from 'sentry/stores/projectsStore';
- import TransactionAnomalies from 'sentry/views/performance/transactionSummary/transactionAnomalies';
- const initializeData = (settings: InitializeDataSettings) => {
- const data = _initializeData(settings);
- act(() => void ProjectsStore.loadInitialData(data.organization.projects));
- return data;
- };
- describe('AnomaliesTab', function () {
- let anomaliesMock: any;
- beforeEach(function () {
- MockApiClient.addMockResponse({
- url: '/organizations/org-slug/projects/',
- body: [],
- });
- MockApiClient.addMockResponse({
- url: '/organizations/org-slug/sdk-updates/',
- body: [],
- });
- MockApiClient.addMockResponse({
- url: '/organizations/org-slug/prompts-activity/',
- body: {},
- });
- MockApiClient.addMockResponse({
- url: '/organizations/org-slug/events-has-measurements/',
- body: {measurements: false},
- });
- MockApiClient.addMockResponse({
- url: '/organizations/org-slug/replay-count/',
- body: {},
- });
- anomaliesMock = MockApiClient.addMockResponse({
- url: '/organizations/org-slug/transaction-anomaly-detection/',
- body: {},
- });
- });
- afterEach(cleanup);
- it('renders basic UI elements with flag', async function () {
- const initialData = initializeData({
- features: ['performance-view', 'performance-anomaly-detection-ui'],
- query: {project: '1', transaction: 'transaction'},
- });
- render(<TransactionAnomalies location={initialData.router.location} />, {
- context: initialData.routerContext,
- organization: initialData.organization,
- });
- expect(await screen.findByText('Transaction Count')).toBeInTheDocument();
- expect(anomaliesMock).toHaveBeenCalledTimes(1);
- expect(anomaliesMock).toHaveBeenNthCalledWith(
- 1,
- expect.anything(),
- expect.objectContaining({
- query: expect.objectContaining({
- environment: [],
- field: ['tpm()'],
- per_page: 50,
- project: ['1'],
- query: 'transaction:transaction',
- statsPeriod: '14d',
- }),
- })
- );
- });
- });
|