|
@@ -6,7 +6,8 @@ import {render, screen} from 'sentry-test/reactTestingLibrary';
|
|
import {GroupRelatedIssues} from 'sentry/views/issueDetails/groupRelatedIssues';
|
|
import {GroupRelatedIssues} from 'sentry/views/issueDetails/groupRelatedIssues';
|
|
|
|
|
|
describe('Related Issues View', function () {
|
|
describe('Related Issues View', function () {
|
|
- let relatedIssuesMock: jest.Mock;
|
|
|
|
|
|
+ let sameRootIssuesMock: jest.Mock;
|
|
|
|
+ let traceIssuesMock: jest.Mock;
|
|
let issuesMock: jest.Mock;
|
|
let issuesMock: jest.Mock;
|
|
const router = RouterFixture();
|
|
const router = RouterFixture();
|
|
|
|
|
|
@@ -21,44 +22,20 @@ describe('Related Issues View', function () {
|
|
const params = {groupId: groupId};
|
|
const params = {groupId: groupId};
|
|
const errorType = 'RuntimeError';
|
|
const errorType = 'RuntimeError';
|
|
const noData = {
|
|
const noData = {
|
|
- data: [
|
|
|
|
- {
|
|
|
|
- type: 'same_root_cause',
|
|
|
|
- data: [],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- type: 'trace_connected',
|
|
|
|
- data: [],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
|
|
+ type: 'irrelevant',
|
|
|
|
+ data: [],
|
|
};
|
|
};
|
|
const onlySameRootData = {
|
|
const onlySameRootData = {
|
|
- data: [
|
|
|
|
- {
|
|
|
|
- type: 'same_root_cause',
|
|
|
|
- data: [group1, group2],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- type: 'trace_connected',
|
|
|
|
- data: [],
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
|
|
+ type: 'same_root_cause',
|
|
|
|
+ data: [group1, group2],
|
|
};
|
|
};
|
|
const onlyTraceConnectedData = {
|
|
const onlyTraceConnectedData = {
|
|
- data: [
|
|
|
|
- {
|
|
|
|
- type: 'same_root_cause',
|
|
|
|
- data: [],
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- type: 'trace_connected',
|
|
|
|
- data: [group1, group2],
|
|
|
|
- meta: {
|
|
|
|
- event_id: 'abcd',
|
|
|
|
- trace_id: '1234',
|
|
|
|
- },
|
|
|
|
- },
|
|
|
|
- ],
|
|
|
|
|
|
+ type: 'trace_connected',
|
|
|
|
+ data: [group1, group2],
|
|
|
|
+ meta: {
|
|
|
|
+ event_id: 'abcd',
|
|
|
|
+ trace_id: '1234',
|
|
|
|
+ },
|
|
};
|
|
};
|
|
const issuesData = [
|
|
const issuesData = [
|
|
{
|
|
{
|
|
@@ -99,8 +76,12 @@ describe('Related Issues View', function () {
|
|
});
|
|
});
|
|
|
|
|
|
it('renders with no data', async function () {
|
|
it('renders with no data', async function () {
|
|
- relatedIssuesMock = MockApiClient.addMockResponse({
|
|
|
|
- url: `/issues/${groupId}/related-issues/`,
|
|
|
|
|
|
+ sameRootIssuesMock = MockApiClient.addMockResponse({
|
|
|
|
+ url: `/issues/${groupId}/related-issues/?type=same_root_cause`,
|
|
|
|
+ body: noData,
|
|
|
|
+ });
|
|
|
|
+ traceIssuesMock = MockApiClient.addMockResponse({
|
|
|
|
+ url: `/issues/${groupId}/related-issues/?type=trace_connected`,
|
|
body: noData,
|
|
body: noData,
|
|
});
|
|
});
|
|
render(
|
|
render(
|
|
@@ -121,14 +102,19 @@ describe('Related Issues View', function () {
|
|
await screen.findByText('No trace-connected related issues were found.')
|
|
await screen.findByText('No trace-connected related issues were found.')
|
|
).toBeInTheDocument();
|
|
).toBeInTheDocument();
|
|
|
|
|
|
- expect(relatedIssuesMock).toHaveBeenCalled();
|
|
|
|
|
|
+ expect(sameRootIssuesMock).toHaveBeenCalled();
|
|
|
|
+ expect(traceIssuesMock).toHaveBeenCalled();
|
|
});
|
|
});
|
|
|
|
|
|
it('renders with same root issues', async function () {
|
|
it('renders with same root issues', async function () {
|
|
- relatedIssuesMock = MockApiClient.addMockResponse({
|
|
|
|
- url: `/issues/${groupId}/related-issues/`,
|
|
|
|
|
|
+ sameRootIssuesMock = MockApiClient.addMockResponse({
|
|
|
|
+ url: `/issues/${groupId}/related-issues/?type=same_root_cause`,
|
|
body: onlySameRootData,
|
|
body: onlySameRootData,
|
|
});
|
|
});
|
|
|
|
+ MockApiClient.addMockResponse({
|
|
|
|
+ url: `/issues/${groupId}/related-issues/?type=trace_connected`,
|
|
|
|
+ body: [],
|
|
|
|
+ });
|
|
issuesMock = MockApiClient.addMockResponse({
|
|
issuesMock = MockApiClient.addMockResponse({
|
|
url: orgIssuesEndpoint,
|
|
url: orgIssuesEndpoint,
|
|
body: issuesData,
|
|
body: issuesData,
|
|
@@ -149,7 +135,7 @@ describe('Related Issues View', function () {
|
|
expect(await screen.findByText(`EARTH-${group1}`)).toBeInTheDocument();
|
|
expect(await screen.findByText(`EARTH-${group1}`)).toBeInTheDocument();
|
|
expect(await screen.findByText(`EARTH-${group2}`)).toBeInTheDocument();
|
|
expect(await screen.findByText(`EARTH-${group2}`)).toBeInTheDocument();
|
|
|
|
|
|
- expect(relatedIssuesMock).toHaveBeenCalled();
|
|
|
|
|
|
+ expect(sameRootIssuesMock).toHaveBeenCalled();
|
|
expect(issuesMock).toHaveBeenCalled();
|
|
expect(issuesMock).toHaveBeenCalled();
|
|
expect(
|
|
expect(
|
|
await screen.findByText('No trace-connected related issues were found.')
|
|
await screen.findByText('No trace-connected related issues were found.')
|
|
@@ -163,8 +149,12 @@ describe('Related Issues View', function () {
|
|
});
|
|
});
|
|
|
|
|
|
it('renders with trace connected issues', async function () {
|
|
it('renders with trace connected issues', async function () {
|
|
- relatedIssuesMock = MockApiClient.addMockResponse({
|
|
|
|
- url: `/issues/${groupId}/related-issues/`,
|
|
|
|
|
|
+ MockApiClient.addMockResponse({
|
|
|
|
+ url: `/issues/${groupId}/related-issues/?type=same_root_cause`,
|
|
|
|
+ body: [],
|
|
|
|
+ });
|
|
|
|
+ traceIssuesMock = MockApiClient.addMockResponse({
|
|
|
|
+ url: `/issues/${groupId}/related-issues/?type=trace_connected`,
|
|
body: onlyTraceConnectedData,
|
|
body: onlyTraceConnectedData,
|
|
});
|
|
});
|
|
issuesMock = MockApiClient.addMockResponse({
|
|
issuesMock = MockApiClient.addMockResponse({
|
|
@@ -186,7 +176,7 @@ describe('Related Issues View', function () {
|
|
expect(await screen.findByText(`EARTH-${group1}`)).toBeInTheDocument();
|
|
expect(await screen.findByText(`EARTH-${group1}`)).toBeInTheDocument();
|
|
expect(await screen.findByText(`EARTH-${group2}`)).toBeInTheDocument();
|
|
expect(await screen.findByText(`EARTH-${group2}`)).toBeInTheDocument();
|
|
|
|
|
|
- expect(relatedIssuesMock).toHaveBeenCalled();
|
|
|
|
|
|
+ expect(traceIssuesMock).toHaveBeenCalled();
|
|
expect(issuesMock).toHaveBeenCalled();
|
|
expect(issuesMock).toHaveBeenCalled();
|
|
expect(
|
|
expect(
|
|
await screen.findByText('No same-root-cause related issues were found.')
|
|
await screen.findByText('No same-root-cause related issues were found.')
|