import {ServerSideSamplingStore} from 'sentry/stores/serverSideSamplingStore'; import { mockedSamplingDistribution, mockedSamplingSdkVersions, } from 'sentry/views/settings/project/server-side-sampling/testUtils'; describe('ServerSideSamplingStore', function () { beforeEach(function () { ServerSideSamplingStore.reset(); }); afterEach(function () { jest.restoreAllMocks(); }); describe('fetchDistributionSuccess()', function () { it('should load new sampling distribution values and trigger state', function () { jest.spyOn(ServerSideSamplingStore, 'trigger'); expect(ServerSideSamplingStore.getState().distribution.data).toEqual(undefined); ServerSideSamplingStore.fetchDistributionSuccess(mockedSamplingDistribution); expect(ServerSideSamplingStore.getState().distribution.data).toEqual( mockedSamplingDistribution ); expect(ServerSideSamplingStore.trigger).toHaveBeenCalledTimes(1); }); }); describe('fetchSdkVersionsSuccess()', function () { it('should load new sdk version values and trigger state', function () { jest.spyOn(ServerSideSamplingStore, 'trigger'); expect(ServerSideSamplingStore.getState().sdkVersions.data).toEqual(undefined); ServerSideSamplingStore.fetchSdkVersionsSuccess(mockedSamplingSdkVersions); expect(ServerSideSamplingStore.getState().sdkVersions.data).toEqual( mockedSamplingSdkVersions ); expect(ServerSideSamplingStore.trigger).toHaveBeenCalledTimes(1); }); }); describe('fetchProjectStats48hSuccess()', function () { it('should load project stats from the last 48h and trigger state', function () { jest.spyOn(ServerSideSamplingStore, 'trigger'); expect(ServerSideSamplingStore.getState().projectStats48h.data).toEqual(undefined); ServerSideSamplingStore.fetchProjectStats48hSuccess(TestStubs.Outcomes()); expect(ServerSideSamplingStore.getState().projectStats48h.data).toEqual( TestStubs.Outcomes() ); expect(ServerSideSamplingStore.trigger).toHaveBeenCalledTimes(1); }); }); describe('fetchProjectStats30dSuccess()', function () { it('should load project stats from the last 30d and trigger state', function () { jest.spyOn(ServerSideSamplingStore, 'trigger'); expect(ServerSideSamplingStore.getState().projectStats30d.data).toEqual(undefined); ServerSideSamplingStore.fetchProjectStats30dSuccess(TestStubs.Outcomes()); expect(ServerSideSamplingStore.getState().projectStats30d.data).toEqual( TestStubs.Outcomes() ); expect(ServerSideSamplingStore.trigger).toHaveBeenCalledTimes(1); }); }); });