123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- import {render} from 'sentry-test/reactTestingLibrary';
- import ProjectsStore from 'sentry/stores/projectsStore';
- import {Coverage, Frame, LineCoverage} from 'sentry/types';
- import Context, {getCoverageColorClass} from './context';
- describe('Frame - Context', function () {
- const org = TestStubs.Organization();
- const project = TestStubs.Project({});
- const event = TestStubs.Event({projectID: project.id});
- const integration = TestStubs.GitHubIntegration();
- const repo = TestStubs.Repository({integrationId: integration.id});
- const frame = {filename: '/sentry/app.py', lineNo: 233} as Frame;
- const config = TestStubs.RepositoryProjectPathConfig({project, repo, integration});
- beforeEach(function () {
- jest.clearAllMocks();
- MockApiClient.clearMockResponses();
- ProjectsStore.loadInitialData([project]);
- });
- const lines: Array<[number, string]> = [
- [231, 'this is line 231'],
- [232, 'this is line 232'],
- [233, 'this is line 233'],
- [234, 'this is line 234'],
- ];
- const lineCoverage: LineCoverage[] = [
- [230, Coverage.PARTIAL],
- [231, Coverage.PARTIAL],
- [232, Coverage.COVERED],
- [234, Coverage.NOT_COVERED],
- ];
- const primaryLineNumber = 233;
- it('converts coverage data to the right colors', function () {
- expect(getCoverageColorClass(lines, lineCoverage, primaryLineNumber)).toEqual([
- ['partial', 'covered', 'active', 'uncovered'],
- true,
- ]);
- });
- it("doesn't query stacktrace link if the flag is off", function () {
- const mock = MockApiClient.addMockResponse({
- url: `/projects/${org.slug}/${project.slug}/stacktrace-link/`,
- body: {
- config,
- sourceUrl: null,
- integrations: [integration],
- },
- });
- render(
- <Context
- frame={frame}
- event={event}
- organization={org}
- registers={{}}
- components={[]}
- />,
- {
- context: TestStubs.routerContext([{organization: org}]),
- organization: org,
- project,
- }
- );
- expect(mock).not.toHaveBeenCalled();
- });
- });
|