// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. // SPDX-License-Identifier: Apache-2.0 import '@testing-library/jest-dom'; import React from 'react'; import ChatBubbleContainer from '../../../../../src/components/ui/Chat/ChatBubble/ChatBubbleContainer'; import PopOverItem from '../../../../../src/components/ui/PopOver/PopOverItem'; import lightTheme from '../../../../../src/theme/light'; import { renderWithTheme } from '../../../../test-helpers'; describe('ChatBubble', () => { const time = '2020-10-05T21:51:26.569Z'; const component = (
children
); it('should render a ChatBubbleContainer component in the document', () => { const { getByTestId } = renderWithTheme(lightTheme, component); const message = getByTestId('chat-bubble-container'); expect(message).toBeInTheDocument(); }); it('should render children', () => { const { getByText } = renderWithTheme(lightTheme, component); const children = getByText('children'); expect(children).toBeInTheDocument(); }); it('should render time', () => { const { getByTestId } = renderWithTheme(lightTheme, component); const displayedTime = getByTestId('message-time'); expect(displayedTime).toBeInTheDocument(); }); it('should render a popover if more options are passed', () => { const componentWithActions = ( Edit} onClick={() => null} /> } >
children
); const { getByTestId } = renderWithTheme(lightTheme, componentWithActions); const popover = getByTestId('popover'); expect(popover).toBeInTheDocument(); }); it('should not render a popover if more options are not passed', () => { const { queryByTestId } = renderWithTheme(lightTheme, component); const popover = queryByTestId('popover'); expect(popover).not.toBeInTheDocument(); }); });