mirror of
https://github.com/hanzoai/sentinel.git
synced 2026-10-30 14:49:14 +00:00
72 lines
2.3 KiB
TypeScript
72 lines
2.3 KiB
TypeScript
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},
|
|
});
|
|
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',
|
|
}),
|
|
})
|
|
);
|
|
});
|
|
});
|