You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@superset.apache.org by aa...@apache.org on 2022/08/04 21:04:23 UTC
[superset] 01/01: initial push
This is an automated email from the ASF dual-hosted git repository.
aafghahi pushed a commit to branch LA/testList
in repository https://gitbox.apache.org/repos/asf/superset.git
commit ef841c78d506f6eb9b2d96b6c08ddf62fde6d4e2
Author: AAfghahi <ar...@gmail.com>
AuthorDate: Thu Aug 4 17:04:00 2022 -0400
initial push
---
.../SaveDatasetModal/SaveDatasetModal.test.tsx | 44 ++++++++++++++++++++--
1 file changed, 41 insertions(+), 3 deletions(-)
diff --git a/superset-frontend/src/SqlLab/components/SaveDatasetModal/SaveDatasetModal.test.tsx b/superset-frontend/src/SqlLab/components/SaveDatasetModal/SaveDatasetModal.test.tsx
index 7e838a44e3..8c05f702bc 100644
--- a/superset-frontend/src/SqlLab/components/SaveDatasetModal/SaveDatasetModal.test.tsx
+++ b/superset-frontend/src/SqlLab/components/SaveDatasetModal/SaveDatasetModal.test.tsx
@@ -24,6 +24,7 @@ import {
waitFor,
within,
cleanup,
+ act,
} from 'spec/helpers/testing-library';
import userEvent from '@testing-library/user-event';
import fetchMock from 'fetch-mock';
@@ -109,7 +110,7 @@ describe('SaveDatasetModal', () => {
expect(screen.getByRole('button', { name: /overwrite/i })).toBeVisible();
});
- it('renders the overwrite button as disabled until an existing dataset is selected, confirms overwrite', async () => {
+ it('renders the overwrite button as disabled until an existing dataset is selected, confirms overwrite', () => {
useSelectorMock.mockReturnValue({ ...user });
render(<SaveDatasetModal {...mockedProps} />, { useRedux: true });
@@ -117,7 +118,7 @@ describe('SaveDatasetModal', () => {
const overwriteRadioBtn = screen.getByRole('radio', {
name: /overwrite existing/i,
});
- await waitFor(async () => {
+ act(() => {
userEvent.click(overwriteRadioBtn);
});
@@ -129,7 +130,7 @@ describe('SaveDatasetModal', () => {
// Click the select component
const select = screen.getByRole('combobox', { name: /existing dataset/i })!;
- await waitFor(async () => userEvent.click(select));
+ act(() => userEvent.click(select));
// Select the first "existing dataset" from the listbox
const option = within(
@@ -145,4 +146,41 @@ describe('SaveDatasetModal', () => {
expect(screen.getByRole('button', { name: /back/i })).toBeVisible();
expect(screen.getByRole('button', { name: /overwrite/i })).toBeVisible();
});
+
+ it('renders the overwrite button as disabled until an existing dataset is selected, confirms overwrite', async () => {
+ useSelectorMock.mockReturnValue({ ...user });
+ render(<SaveDatasetModal {...mockedProps} />, { useRedux: true });
+
+ // Click the overwrite radio button
+ const overwriteRadioBtn = screen.getByRole('radio', {
+ name: /overwrite existing/i,
+ });
+ act(() => {
+ userEvent.click(overwriteRadioBtn);
+ });
+
+ // Overwrite confirmation button should be disabled at this point
+ const overwriteConfirmationBtn = screen.getByRole('button', {
+ name: /overwrite/i,
+ });
+ expect(overwriteConfirmationBtn).toBeDisabled();
+
+ // Click the select component
+ const select = screen.getByRole('combobox', { name: /existing dataset/i })!;
+ act(() => userEvent.click(select));
+
+ // Select the first "existing dataset" from the listbox
+
+ const list = await within(document.querySelector('.rc-virtual-list')!);
+ const option = await list.findByText('coolest table 0')!;
+ userEvent.click(option);
+
+ // Overwrite button should now be enabled
+ expect(overwriteConfirmationBtn).toBeEnabled();
+
+ // Check Overwrite confirmation functionality
+ userEvent.click(overwriteConfirmationBtn);
+ expect(screen.getByRole('button', { name: /back/i })).toBeVisible();
+ expect(screen.getByRole('button', { name: /overwrite/i })).toBeVisible();
+ });
});