3 * Copyright (C) 2009-2023 SonarSource SA
4 * mailto:info AT sonarsource DOT com
6 * This program is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 3 of the License, or (at your option) any later version.
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
16 * You should have received a copy of the GNU Lesser General Public License
17 * along with this program; if not, write to the Free Software Foundation,
18 * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
20 import { shallow } from 'enzyme';
21 import * as React from 'react';
22 import { IndexationNotificationType } from '../../../../types/indexation';
23 import IndexationNotificationRenderer, {
24 IndexationNotificationRendererProps,
25 } from '../IndexationNotificationRenderer';
28 [IndexationNotificationType.InProgress, false],
29 [IndexationNotificationType.InProgress, true],
30 [IndexationNotificationType.InProgressWithFailure, false],
31 [IndexationNotificationType.InProgressWithFailure, true],
32 [IndexationNotificationType.Completed, false],
33 [IndexationNotificationType.Completed, true],
34 [IndexationNotificationType.CompletedWithFailure, false],
35 [IndexationNotificationType.CompletedWithFailure, true],
37 'should render correctly for type=%p & isSystemAdmin=%p',
38 (type: IndexationNotificationType, isSystemAdmin: boolean) => {
39 expect(shallowRender({ type, isSystemAdmin })).toMatchSnapshot();
43 function shallowRender(props: Partial<IndexationNotificationRendererProps> = {}) {
44 return shallow<IndexationNotificationRendererProps>(
45 <IndexationNotificationRenderer
46 type={IndexationNotificationType.InProgress}