diff --git a/superset-frontend/src/components/ErrorMessage/ErrorAlert.test.tsx b/superset-frontend/src/components/ErrorMessage/ErrorAlert.test.tsx
index 38006c2ec4..2c2f1c2349 100644
--- a/superset-frontend/src/components/ErrorMessage/ErrorAlert.test.tsx
+++ b/superset-frontend/src/components/ErrorMessage/ErrorAlert.test.tsx
@@ -21,6 +21,7 @@ import React from 'react';
import userEvent from '@testing-library/user-event';
import { render, screen } from 'spec/helpers/testing-library';
import { supersetTheme } from '@superset-ui/core';
+import { isCurrentUserBot } from 'src/utils/isBot';
import ErrorAlert from './ErrorAlert';
import { ErrorLevel, ErrorSource } from './types';
@@ -31,6 +32,10 @@ jest.mock(
,
);
+jest.mock('src/utils/isBot', () => ({
+ isCurrentUserBot: jest.fn(),
+}));
+
const mockedProps = {
body: 'Error body',
level: 'warning' as ErrorLevel,
@@ -41,6 +46,14 @@ const mockedProps = {
description: 'we are unable to connect db.',
};
+beforeEach(() => {
+ (isCurrentUserBot as jest.Mock).mockReturnValue(false);
+});
+
+afterEach(() => {
+ jest.clearAllMocks();
+});
+
test('should render', () => {
const { container } = render();
expect(container).toBeInTheDocument();
@@ -100,6 +113,17 @@ test('should render the See more button', () => {
expect(screen.getByText('See more')).toBeInTheDocument();
});
+test('should render the error subtitle and body defaultly for the screen capture request', () => {
+ const seemoreProps = {
+ ...mockedProps,
+ source: 'explore' as ErrorSource,
+ };
+ (isCurrentUserBot as jest.Mock).mockReturnValue(true);
+ render();
+ expect(screen.getByText('Error subtitle')).toBeInTheDocument();
+ expect(screen.getByText('Error body')).toBeInTheDocument();
+});
+
test('should render the modal', () => {
render(, { useRedux: true });
const button = screen.getByText('See more');
diff --git a/superset-frontend/src/components/ErrorMessage/ErrorAlert.tsx b/superset-frontend/src/components/ErrorMessage/ErrorAlert.tsx
index 672d746645..da5894e887 100644
--- a/superset-frontend/src/components/ErrorMessage/ErrorAlert.tsx
+++ b/superset-frontend/src/components/ErrorMessage/ErrorAlert.tsx
@@ -21,6 +21,7 @@ import { styled, useTheme, t } from '@superset-ui/core';
import { noOp } from 'src/utils/common';
import Modal from 'src/components/Modal';
import Button from 'src/components/Button';
+import { isCurrentUserBot } from 'src/utils/isBot';
import Icons from 'src/components/Icons';
import { ErrorLevel, ErrorSource } from './types';
@@ -102,9 +103,10 @@ export default function ErrorAlert({
const theme = useTheme();
const [isModalOpen, setIsModalOpen] = useState(false);
- const [isBodyExpanded, setIsBodyExpanded] = useState(false);
+ const [isBodyExpanded, setIsBodyExpanded] = useState(isCurrentUserBot());
- const isExpandable = ['explore', 'sqllab'].includes(source);
+ const isExpandable =
+ isCurrentUserBot() || ['explore', 'sqllab'].includes(source);
const iconColor = theme.colors[level].base;
return (