import React from 'react'; import { screen, fireEvent } from '@testing-library/react'; import configureMockStore from 'redux-mock-store'; import { renderWithProvider } from '../../../../test/lib/render-helpers'; import testData from '../../../../.storybook/test-data'; import TransactionFailed from '.'; const mockErrorMessage = 'Something went wrong'; describe('Transaction Failed', () => { const mockStore = { ...testData, }; const store = configureMockStore()(mockStore); it('renders the error message', () => { renderWithProvider( , store, ); const errorMessageElement = screen.getByText(mockErrorMessage); expect(errorMessageElement).toBeInTheDocument(); }); it('renders the correct title when operation fails', () => { const operationFailed = true; const title = 'Operation Failed!'; renderWithProvider( , store, ); const titleElement = screen.getByText(title); expect(titleElement).toBeInTheDocument(); }); it('renders the correct title when transaction fails', () => { const operationFailed = false; const title = 'Transaction Failed!'; renderWithProvider( , store, ); const titleElement = screen.getByText(title); expect(titleElement).toBeInTheDocument(); }); it('closes window when closeNotification is true', () => { global.platform = { closeCurrentWindow: jest.fn(), }; renderWithProvider(, store); const okButton = screen.getByText('Ok'); fireEvent.click(okButton); expect(global.platform.closeCurrentWindow).toHaveBeenCalledTimes(1); }); });