]> source.dussan.org Git - sonarqube.git/blob
72e517426ccb9e7e879d5c8bb1778c41e90497aa
[sonarqube.git] /
1 /*
2  * SonarQube
3  * Copyright (C) 2009-2017 SonarSource SA
4  * mailto:info AT sonarsource DOT com
5  *
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.
10  *
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.
15  *
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.
19  */
20 jest.mock('../../../../../helpers/l10n', () => {
21   const l10n = require.requireActual('../../../../../helpers/l10n');
22   l10n.hasMessage = jest.fn(() => true);
23   return l10n;
24 });
25
26 import * as React from 'react';
27 import { shallow } from 'enzyme';
28 import ComponentNavBgTaskNotif from '../ComponentNavBgTaskNotif';
29 import { Task } from '../../../../../api/ce';
30
31 const component = {
32   analysisDate: '2017-01-02T00:00:00.000Z',
33   breadcrumbs: [],
34   key: 'foo',
35   name: 'Foo',
36   organization: 'org',
37   qualifier: 'TRK',
38   version: '0.0.1'
39 };
40
41 it('renders background task error correctly', () => {
42   expect(getWrapper()).toMatchSnapshot();
43 });
44
45 it('renders background task pending info correctly', () => {
46   expect(getWrapper({ isPending: true })).toMatchSnapshot();
47 });
48
49 it('renders background task in progress info correctly', () => {
50   expect(getWrapper({ isInProgress: true, isPending: true })).toMatchSnapshot();
51 });
52
53 it('renders background task license info correctly', () => {
54   expect(
55     getWrapper({ currentTask: { status: 'FAILED', errorType: 'LICENSING', errorMessage: 'Foo' } })
56   ).toMatchSnapshot();
57 });
58
59 function getWrapper(props = {}) {
60   return shallow(
61     <ComponentNavBgTaskNotif
62       component={component}
63       currentTask={{ status: 'FAILED' } as Task}
64       {...props}
65     />,
66     { context: { canAdmin: true } }
67   );
68 }