import {render} from 'sentry-test/reactTestingLibrary'; import EventView from 'sentry/utils/discover/eventView'; import SuspectSpansQuery from 'sentry/utils/performance/suspectSpans/suspectSpansQuery'; import { SpanSortOthers, SpanSortPercentiles, } from 'sentry/views/performance/transactionSummary/transactionSpans/types'; describe('SuspectSpansQuery', function () { let eventView, location; beforeEach(function () { eventView = EventView.fromSavedQuery({ id: '', name: '', version: 2, fields: [...Object.values(SpanSortOthers), ...Object.values(SpanSortPercentiles)], projects: [], environment: [], }); location = { pathname: '/', query: {}, }; }); it('fetches data on mount', function () { const getMock = MockApiClient.addMockResponse({ url: '/organizations/test-org/events-spans-performance/', // just asserting that the data is being fetched, no need for actual data here body: [], }); render( {() => null} ); expect(getMock).toHaveBeenCalledTimes(1); }); it('fetches data with the right op filter', function () { const getMock = MockApiClient.addMockResponse({ url: '/organizations/test-org/events-spans-performance/', // just asserting that the data is being fetched, no need for actual data here body: [], match: [MockApiClient.matchQuery({spanOp: ['op1']})], }); render( {() => null} ); expect(getMock).toHaveBeenCalledTimes(1); }); it('fetches data with the right group filter', function () { const getMock = MockApiClient.addMockResponse({ url: '/organizations/test-org/events-spans-performance/', // just asserting that the data is being fetched, no need for actual data here body: [], match: [MockApiClient.matchQuery({spanGroup: ['aaaaaaaaaaaaaaaa']})], }); render( {() => null} ); expect(getMock).toHaveBeenCalledTimes(1); }); it('fetches data with the right per suspect param', function () { const getMock = MockApiClient.addMockResponse({ url: '/organizations/test-org/events-spans-performance/', // just asserting that the data is being fetched, no need for actual data here body: [], match: [MockApiClient.matchQuery({perSuspect: 1})], }); render( {() => null} ); expect(getMock).toHaveBeenCalledTimes(1); }); });