You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by di...@apache.org on 2022/08/22 13:17:53 UTC
[superset] 04/36: Lint
This is an automated email from the ASF dual-hosted git repository.
diegopucci pushed a commit to branch chore/drill-to-detail-modal-tests
in repository https://gitbox.apache.org/repos/asf/superset.git
commit 1e27668f31945fa0b424098ef0615c8ed22e754d
Author: geido <di...@gmail.com>
AuthorDate: Tue Aug 16 20:18:10 2022 +0300
Lint
---
.../src/components/Chart/DrillDetailModal.test.tsx | 48 ++++++-----
.../DrillDetailPane/DrillDetailPane.test.tsx | 96 +++++++++++-----------
2 files changed, 74 insertions(+), 70 deletions(-)
diff --git a/superset-frontend/src/components/Chart/DrillDetailModal.test.tsx b/superset-frontend/src/components/Chart/DrillDetailModal.test.tsx
index 81ead96438..20f319ce4f 100644
--- a/superset-frontend/src/components/Chart/DrillDetailModal.test.tsx
+++ b/superset-frontend/src/components/Chart/DrillDetailModal.test.tsx
@@ -19,29 +19,29 @@
import React from 'react';
import { render, screen, waitFor } from 'spec/helpers/testing-library';
import { getMockStoreWithNativeFilters } from 'spec/fixtures/mockStore';
-import chartQueries, { sliceIdĀ } from 'spec/fixtures/mockChartQueries';
-import DrillDetailModal from './DrillDetailModal';
+import chartQueries, { sliceId } from 'spec/fixtures/mockChartQueries';
import { QueryFormData } from '@superset-ui/core';
import fetchMock from 'fetch-mock';
import userEvent from '@testing-library/user-event';
+import DrillDetailModal from './DrillDetailModal';
const chart = chartQueries[sliceId];
const setup = (overrides: Record<string, any> = {}) => {
const store = getMockStoreWithNativeFilters();
const props = {
- chartId: sliceId,
- initialFilters: [],
- formData: chart.form_data as unknown as QueryFormData,
- ...overrides,
-}
- return render(
- <DrillDetailModal {...props} />, {
+ chartId: sliceId,
+ initialFilters: [],
+ formData: chart.form_data as unknown as QueryFormData,
+ ...overrides,
+ };
+ return render(<DrillDetailModal {...props} />, {
useRedux: true,
useRouter: true,
- store
+ store,
});
};
-const waitForRender = (overrides: Record<string, any> = {}) => waitFor(() => setup(overrides));
+const waitForRender = (overrides: Record<string, any> = {}) =>
+ waitFor(() => setup(overrides));
fetchMock.post(
'end:/datasource/samples?force=false&datasource_type=table&datasource_id=7&per_page=50&page=1',
@@ -69,36 +69,42 @@ test('should render', async () => {
test('should render the title', async () => {
await waitForRender();
- expect(screen.getByText(`Drill to detail: ${chart.form_data.slice_name}`)).toBeInTheDocument();
+ expect(
+ screen.getByText(`Drill to detail: ${chart.form_data.slice_name}`),
+ ).toBeInTheDocument();
});
test('should render the modal', async () => {
await waitForRender();
- expect(screen.getByRole("dialog")).toBeInTheDocument();
+ expect(screen.getByRole('dialog')).toBeInTheDocument();
});
test('should not render the modal', async () => {
await waitForRender({
initialFilters: undefined,
});
- expect(screen.queryByRole("dialog")).not.toBeInTheDocument();
+ expect(screen.queryByRole('dialog')).not.toBeInTheDocument();
});
test('should render the button', async () => {
await waitForRender();
- expect(screen.getByRole("button", {name: "Edit chart"})).toBeInTheDocument();
- expect(screen.getAllByRole("button", {name: "Close"})).toHaveLength(2);
+ expect(
+ screen.getByRole('button', { name: 'Edit chart' }),
+ ).toBeInTheDocument();
+ expect(screen.getAllByRole('button', { name: 'Close' })).toHaveLength(2);
});
test('should close the modal', async () => {
await waitForRender();
- expect(screen.getByRole("dialog")).toBeInTheDocument();
- userEvent.click(screen.getAllByRole("button", {name: "Close"})[1]);
- expect(screen.queryByRole("dialog")).not.toBeInTheDocument();
+ expect(screen.getByRole('dialog')).toBeInTheDocument();
+ userEvent.click(screen.getAllByRole('button', { name: 'Close' })[1]);
+ expect(screen.queryByRole('dialog')).not.toBeInTheDocument();
});
test('should forward to Explore', async () => {
await waitForRender();
- userEvent.click(screen.getByRole("button", {name: "Edit chart"}));
- expect(mockHistoryPush).toHaveBeenCalledWith(`/explore/?dashboard_page_id=&slice_id=${sliceId}`);
+ userEvent.click(screen.getByRole('button', { name: 'Edit chart' }));
+ expect(mockHistoryPush).toHaveBeenCalledWith(
+ `/explore/?dashboard_page_id=&slice_id=${sliceId}`,
+ );
});
diff --git a/superset-frontend/src/dashboard/components/DrillDetailPane/DrillDetailPane.test.tsx b/superset-frontend/src/dashboard/components/DrillDetailPane/DrillDetailPane.test.tsx
index 7a89af5850..a65d469fb0 100644
--- a/superset-frontend/src/dashboard/components/DrillDetailPane/DrillDetailPane.test.tsx
+++ b/superset-frontend/src/dashboard/components/DrillDetailPane/DrillDetailPane.test.tsx
@@ -19,73 +19,63 @@
import React from 'react';
import { render, screen, waitFor } from 'spec/helpers/testing-library';
import { getMockStoreWithNativeFilters } from 'spec/fixtures/mockStore';
-import chartQueries, { sliceIdĀ } from 'spec/fixtures/mockChartQueries';
-import DrillDetailPane from './DrillDetailPane';
+import chartQueries, { sliceId } from 'spec/fixtures/mockChartQueries';
import { QueryFormData, SupersetClient } from '@superset-ui/core';
import fetchMock from 'fetch-mock';
+import DrillDetailPane from './DrillDetailPane';
const chart = chartQueries[sliceId];
const setup = (overrides: Record<string, any> = {}) => {
const store = getMockStoreWithNativeFilters();
const props = {
- initialFilters: [],
- formData: chart.form_data as unknown as QueryFormData,
- ...overrides,
-}
- return render(
- <DrillDetailPane {...props} />, {
+ initialFilters: [],
+ formData: chart.form_data as unknown as QueryFormData,
+ ...overrides,
+ };
+ return render(<DrillDetailPane {...props} />, {
useRedux: true,
- store
+ store,
});
};
-const waitForRender = (overrides: Record<string, any> = {}) => waitFor(() => setup(overrides));
-const samplesEndpoint = "end:/datasource/samples?force=false&datasource_type=table&datasource_id=7&per_page=50&page=1";
-const fetchWithNoData = () => fetchMock.post(
- samplesEndpoint,
- {
+const waitForRender = (overrides: Record<string, any> = {}) =>
+ waitFor(() => setup(overrides));
+const samplesEndpoint =
+ 'end:/datasource/samples?force=false&datasource_type=table&datasource_id=7&per_page=50&page=1';
+const fetchWithNoData = () =>
+ fetchMock.post(samplesEndpoint, {
result: {
total_count: 0,
data: [],
colnames: [],
coltypes: [],
},
- },
-);
-const fetchWithData = () => fetchMock.post(
- samplesEndpoint,
- {
+ });
+const fetchWithData = () =>
+ fetchMock.post(samplesEndpoint, {
result: {
total_count: 3,
data: [
{
- "year": 1996,
- "na_sales": 11.27,
- "eu_sales": 8.89,
+ year: 1996,
+ na_sales: 11.27,
+ eu_sales: 8.89,
},
{
- "year": 1989,
- "na_sales": 23.2,
- "eu_sales": 2.26,
+ year: 1989,
+ na_sales: 23.2,
+ eu_sales: 2.26,
},
{
- "year": 1999,
- "na_sales": 9,
- "eu_sales": 6.18,
+ year: 1999,
+ na_sales: 9,
+ eu_sales: 6.18,
},
- ],
- colnames: [
- "year",
- "na_sales",
- "eu_sales",
- ],
- coltypes: [
- 0,
- 0,
- 0,
- ],
+ ],
+ colnames: ['year', 'na_sales', 'eu_sales'],
+ coltypes: [0, 0, 0],
},
});
- const SupersetClientPost = jest.spyOn(SupersetClient, 'post');
+const SupersetClientPost = jest.spyOn(SupersetClient, 'post');
afterEach(fetchMock.restore);
@@ -99,28 +89,36 @@ test('should render the loading component', async () => {
fetchWithData();
setup();
await waitFor(() => {
- expect(screen.getByRole("status", {name: "Loading"})).toBeInTheDocument();
+ expect(screen.getByRole('status', { name: 'Loading' })).toBeInTheDocument();
});
});
test('should render the table with results', async () => {
fetchWithData();
await waitForRender();
- expect(screen.getByRole("table")).toBeInTheDocument();
- expect(screen.getAllByRole("row")).toHaveLength(4);
- expect(screen.getByRole("columnheader", {name: "year"})).toBeInTheDocument();
- expect(screen.getByRole("columnheader", {name: "na_sales"})).toBeInTheDocument();
- expect(screen.getByRole("columnheader", {name: "eu_sales"})).toBeInTheDocument();
+ expect(screen.getByRole('table')).toBeInTheDocument();
+ expect(screen.getAllByRole('row')).toHaveLength(4);
+ expect(
+ screen.getByRole('columnheader', { name: 'year' }),
+ ).toBeInTheDocument();
+ expect(
+ screen.getByRole('columnheader', { name: 'na_sales' }),
+ ).toBeInTheDocument();
+ expect(
+ screen.getByRole('columnheader', { name: 'eu_sales' }),
+ ).toBeInTheDocument();
});
test('should render the "No results" components', async () => {
fetchWithNoData();
setup();
- expect(await screen.findByText("No rows were returned for this dataset")).toBeInTheDocument();
+ expect(
+ await screen.findByText('No rows were returned for this dataset'),
+ ).toBeInTheDocument();
});
test('should render the error', async () => {
- SupersetClientPost.mockRejectedValue(new Error("Something went wrong"));
+ SupersetClientPost.mockRejectedValue(new Error('Something went wrong'));
await waitForRender();
- expect(screen.getByText("Error: Something went wrong")).toBeInTheDocument();
+ expect(screen.getByText('Error: Something went wrong')).toBeInTheDocument();
});