This is an automated email from the ASF dual-hosted git repository.

elizabeth pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/superset.git


The following commit(s) were added to refs/heads/master by this push:
     new f04b4e87fb refactor(superset-ui-core): Migrate FallbackComponent.test 
to RTL (#28359)
f04b4e87fb is described below

commit f04b4e87fbebaf2911593c74c965e67a5eaf7de7
Author: Ross Mabbett <[email protected]>
AuthorDate: Tue May 7 19:12:55 2024 -0400

    refactor(superset-ui-core): Migrate FallbackComponent.test to RTL (#28359)
---
 .../chart/components/FallbackComponent.test.tsx    | 66 +++++++++++-----------
 1 file changed, 34 insertions(+), 32 deletions(-)

diff --git 
a/superset-frontend/packages/superset-ui-core/test/chart/components/FallbackComponent.test.tsx
 
b/superset-frontend/packages/superset-ui-core/test/chart/components/FallbackComponent.test.tsx
index f5d2bf0df2..eadb552988 100644
--- 
a/superset-frontend/packages/superset-ui-core/test/chart/components/FallbackComponent.test.tsx
+++ 
b/superset-frontend/packages/superset-ui-core/test/chart/components/FallbackComponent.test.tsx
@@ -18,42 +18,44 @@
  */
 
 import React from 'react';
-import { shallow } from 'enzyme';
+import { render } from '@testing-library/react';
+import '@testing-library/jest-dom';
+import { FallbackProps } from 'react-error-boundary';
+import { ThemeProvider, supersetTheme } from '../../../src/style';
+
 import FallbackComponent from 
'../../../src/chart/components/FallbackComponent';
 
-describe('FallbackComponent', () => {
-  const ERROR = new Error('CaffeineOverLoadException');
-  const STACK_TRACE = 'Error at line 1: x.drink(coffee)';
-
-  it('renders error and stack trace', () => {
-    const wrapper = shallow(
-      <FallbackComponent componentStack={STACK_TRACE} error={ERROR} />,
-    );
-    const messages = wrapper.find('code');
-    expect(messages).toHaveLength(2);
-    expect(messages.at(0).text()).toEqual('Error: CaffeineOverLoadException');
-    expect(messages.at(1).text()).toEqual('Error at line 1: x.drink(coffee)');
-  });
+const renderWithTheme = (props: FallbackProps) =>
+  render(
+    <ThemeProvider theme={supersetTheme}>
+      <FallbackComponent {...props} />
+    </ThemeProvider>,
+  );
 
-  it('renders error only', () => {
-    const wrapper = shallow(<FallbackComponent error={ERROR} />);
-    const messages = wrapper.find('code');
-    expect(messages).toHaveLength(1);
-    expect(messages.at(0).text()).toEqual('Error: CaffeineOverLoadException');
-  });
+const ERROR = new Error('CaffeineOverLoadException');
+const STACK_TRACE = 'Error at line 1: x.drink(coffee)';
 
-  it('renders stacktrace only', () => {
-    const wrapper = shallow(<FallbackComponent componentStack={STACK_TRACE} 
/>);
-    const messages = wrapper.find('code');
-    expect(messages).toHaveLength(2);
-    expect(messages.at(0).text()).toEqual('Unknown Error');
-    expect(messages.at(1).text()).toEqual('Error at line 1: x.drink(coffee)');
+test('renders error and stack trace', () => {
+  const { getByText } = renderWithTheme({
+    componentStack: STACK_TRACE,
+    error: ERROR,
   });
+  expect(getByText('Error: CaffeineOverLoadException')).toBeInTheDocument();
+  expect(getByText('Error at line 1: x.drink(coffee)')).toBeInTheDocument();
+});
 
-  it('renders when nothing is given', () => {
-    const wrapper = shallow(<FallbackComponent />);
-    const messages = wrapper.find('code');
-    expect(messages).toHaveLength(1);
-    expect(messages.at(0).text()).toEqual('Unknown Error');
-  });
+test('renders error only', () => {
+  const { getByText } = renderWithTheme({ error: ERROR });
+  expect(getByText('Error: CaffeineOverLoadException')).toBeInTheDocument();
+});
+
+test('renders stacktrace only', () => {
+  const { getByText } = renderWithTheme({ componentStack: STACK_TRACE });
+  expect(getByText('Unknown Error')).toBeInTheDocument();
+  expect(getByText('Error at line 1: x.drink(coffee)')).toBeInTheDocument();
+});
+
+test('renders when nothing is given', () => {
+  const { getByText } = renderWithTheme({});
+  expect(getByText('Unknown Error')).toBeInTheDocument();
 });

Reply via email to