From 93a5cbfd70b49bc423db9df2f99fd6b328de28cf Mon Sep 17 00:00:00 2001 From: Steffen Waterkamp Date: Thu, 17 Dec 2020 08:41:48 +0100 Subject: [PATCH] Add tests for DialogError --- .../web/components/dialog/__tests__/error.js | 61 +++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 gsa/src/web/components/dialog/__tests__/error.js diff --git a/gsa/src/web/components/dialog/__tests__/error.js b/gsa/src/web/components/dialog/__tests__/error.js new file mode 100644 index 0000000000..6946233fb7 --- /dev/null +++ b/gsa/src/web/components/dialog/__tests__/error.js @@ -0,0 +1,61 @@ +/* Copyright (C) 2020 Greenbone Networks GmbH + * + * SPDX-License-Identifier: AGPL-3.0-or-later + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU Affero General Public License + * as published by the Free Software Foundation, either version 3 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU Affero General Public License for more details. + * + * You should have received a copy of the GNU Affero General Public License + * along with this program. If not, see . + */ +import React from 'react'; + +import {setLocale} from 'gmp/locale/lang'; + +import {render, fireEvent, screen} from 'web/utils/testing'; +import Theme from 'web/utils/theme'; + +import DialogError from '../error'; + +setLocale('en'); + +describe('Dialog error tests', () => { + test('should render with defined error', () => { + const {element} = render( + {}} />, + ); + + expect(element).toHaveTextContent('foo'); + expect(element).toHaveStyleRule('background-color', Theme.lightRed); + }); + + test('should not render with undefined error', () => { + const {element} = render( {}} />); + + expect(element).toBe(null); + }); + + test('should call close handler', () => { + const handler = jest.fn(); + + const {element} = render( + , + ); + + const button = screen.getByTitle('Close'); + + expect(element).toHaveTextContent('foo'); + + fireEvent.click(button); + expect(handler).toHaveBeenCalled(); + }); +}); + +// vim: set ts=2 sw=2 tw=80: