mirror of
https://github.com/ansible/awx.git
synced 2026-01-14 03:10:42 -03:30
Fix tests
This commit is contained in:
parent
abcf8fea96
commit
43f32f98a9
@ -2,7 +2,7 @@ import React from 'react';
|
||||
|
||||
import { mountWithContexts, waitForElement } from '../testUtils/enzymeHelpers';
|
||||
import { ConfigAPI, MeAPI, RootAPI } from './api';
|
||||
import { asyncFlush } from '../jest.setup';
|
||||
import { asyncFlush } from './setupTests';
|
||||
|
||||
import App from './App';
|
||||
|
||||
|
||||
@ -4,8 +4,8 @@ import { I18nProvider } from '@lingui/react';
|
||||
import { HashRouter } from 'react-router-dom';
|
||||
|
||||
import { getLanguageWithoutRegionCode } from './util/language';
|
||||
import ja from '../build/locales/ja/messages';
|
||||
import en from '../build/locales/en/messages';
|
||||
import ja from './locales/ja/messages';
|
||||
import en from './locales/en/messages';
|
||||
|
||||
class RootProvider extends Component {
|
||||
render() {
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
import CredentialTypes from './CredentialTypes';
|
||||
|
||||
const typesData = [{ id: 1, kind: 'machine' }, { id: 2, kind: 'cloud' }];
|
||||
const typesData = [
|
||||
{ id: 1, kind: 'machine' },
|
||||
{ id: 2, kind: 'cloud' },
|
||||
];
|
||||
|
||||
describe('CredentialTypesAPI', () => {
|
||||
test('should load all types', async () => {
|
||||
|
||||
@ -16,10 +16,9 @@ describe('TeamsAPI', () => {
|
||||
await TeamsAPI.associateRole(teamId, roleId);
|
||||
|
||||
expect(mockHttp.post).toHaveBeenCalledTimes(1);
|
||||
expect(mockHttp.post.mock.calls[0]).toContainEqual(
|
||||
`/api/v2/teams/${teamId}/roles/`,
|
||||
{ id: roleId }
|
||||
);
|
||||
expect(
|
||||
mockHttp.post.mock.calls[0]
|
||||
).toContainEqual(`/api/v2/teams/${teamId}/roles/`, { id: roleId });
|
||||
|
||||
done();
|
||||
});
|
||||
|
||||
@ -16,10 +16,9 @@ describe('UsersAPI', () => {
|
||||
await UsersAPI.associateRole(userId, roleId);
|
||||
|
||||
expect(mockHttp.post).toHaveBeenCalledTimes(1);
|
||||
expect(mockHttp.post.mock.calls[0]).toContainEqual(
|
||||
`/api/v2/users/${userId}/roles/`,
|
||||
{ id: roleId }
|
||||
);
|
||||
expect(
|
||||
mockHttp.post.mock.calls[0]
|
||||
).toContainEqual(`/api/v2/users/${userId}/roles/`, { id: roleId });
|
||||
|
||||
done();
|
||||
});
|
||||
|
||||
@ -10,7 +10,7 @@ import {
|
||||
} from '@patternfly/react-core';
|
||||
|
||||
import { BrandName } from '../../variables';
|
||||
import brandLogoImg from '../../../images/brand-logo.svg';
|
||||
import brandLogoImg from './brand-logo.svg';
|
||||
|
||||
class About extends React.Component {
|
||||
static createSpeechBubble(version) {
|
||||
|
||||
232
awx/ui_next/src/components/About/brand-logo.svg
Normal file
232
awx/ui_next/src/components/About/brand-logo.svg
Normal file
@ -0,0 +1,232 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 500 500" style="enable-background:new 0 0 500 500;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{display:none;}
|
||||
.st1{display:inline;fill:#ED1C24;}
|
||||
.st2{fill:#42210B;}
|
||||
.st3{fill:#FFFFFF;}
|
||||
.st4{fill:#C69C6D;stroke:#8C6239;stroke-width:5;stroke-miterlimit:10;}
|
||||
.st5{fill:#FFFFFF;stroke:#42210B;stroke-width:3;stroke-miterlimit:10;}
|
||||
.st6{fill:#ED1C24;stroke:#8C6239;stroke-width:5;stroke-miterlimit:10;}
|
||||
.st7{fill:#A67C52;}
|
||||
.st8{fill:#ED1C24;}
|
||||
</style>
|
||||
<g class="st0">
|
||||
<path class="st1" d="M319.8,169.3c1.5-14.2,13.7-27.2,29.9-31.9c-13.1,1.5-27.3-1.7-36-10c-8.7-8.3-10-21.9-1.4-30.1
|
||||
c-12,6.7-28.1,8.1-41.4,3.4c-13.3-4.6-23.5-15.1-26.2-26.9c-2-8.8,0-17.9,2-26.7c-6.2,9.4-17.6,17.3-30.5,17.3
|
||||
c-12.9,0.1-25.7-10.2-22.9-20.7c-5.5,7.8-11.4,15.9-21,20.2c-9.5,4.3-23.7,2.7-28.2-5.5c-1.6,10.8-7.5,22-19.1,27
|
||||
c-9,3.9-21.5,2.2-28-3.8c5.7,11.4,4.3,25.3-4.1,35.6c-9.9,12.2-29.1,18.6-46.4,15.6c14.7,7.2,28.5,17.7,32.1,31.5
|
||||
c3.7,13.8-7.1,30.7-24.1,31.7c13.6,3.1,28,7.4,35.6,17.2c7.6,9.8,2.9,26.4-11.1,28c12.8-2.6,27.4,3.9,31.9,14.2
|
||||
c4.1,9.5-0.9,20.9-10.9,26.5c18.6-8.9,41-17.1,59.6-8.8c13.9,6.2,20.8,21.6,15.1,33.8c10.4-10.6,23-21.3,39.2-23.5
|
||||
c12.8-1.8,27.5,4.6,31.9,14.1c-0.3-12.7,6.1-25.5,17.5-34c13.8-10.3,34.4-14,52-9.2c-11.1-7.8-14.9-22-8.9-33
|
||||
c6-11,21.3-18,35.7-16.2C327.5,198.1,318.3,183.5,319.8,169.3z"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st2" d="M179.7,297.3c-10.1,3.2-20.3,6-30.6,8.4c-10.7,2.5-21.7,5-32.8,5.1C96,311.1,79.9,297.2,60,296.1
|
||||
c-5.8-0.3-5.8,8.7,0,9c9.9,0.5,18.9,5.1,27.9,8.8c9.8,4,19.6,6.3,30.2,5.9c21.5-0.8,43.5-7.4,64-13.8
|
||||
C187.6,304.3,185.2,295.6,179.7,297.3L179.7,297.3z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st2" d="M322.2,194.8c17.9-8,36-18.5,44.3-37.2c4.2-9.3,6-19.2,7.2-29.3c1.5-11.7,2.5-23.4,3.7-35.2
|
||||
c0.6-5.8-8.4-5.7-9,0c-1.1,10.3-2.1,20.6-3.3,30.9c-1.1,9.7-2.5,19.7-6.4,28.7c-7.5,17.5-24.6,26.8-41.2,34.2
|
||||
C312.4,189.4,316.9,197.2,322.2,194.8L322.2,194.8z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
|
||||
<ellipse transform="matrix(0.5541 -0.8324 0.8324 0.5541 -219.4917 376.0051)" class="st2" cx="241.2" cy="392.9" rx="65.5" ry="33.7"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st3" d="M224.1,442.5c22-11.5,38.7-31,47.1-54.3c2-5.5-6.7-7.8-8.7-2.4c-7.6,21.1-23.1,38.5-43,48.9
|
||||
C214.4,437.4,218.9,445.1,224.1,442.5L224.1,442.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
|
||||
<ellipse transform="matrix(0.9684 -0.2494 0.2494 0.9684 -66.4734 109.0276)" class="st2" cx="397" cy="316.8" rx="63.9" ry="32.9"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st3" d="M363.8,341.5c28.3,7,58.7-0.8,80.2-20.5c4.3-3.9-2.1-10.3-6.4-6.4c-19.1,17.5-46.4,24.4-71.5,18.2
|
||||
C360.5,331.5,358.1,340.1,363.8,341.5L363.8,341.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<path class="st4" d="M156.9,96c-25.4,4.5-32.9,20.2-45,46.9c-20.2,44.4,2,90.3,5.6,97.5c18.4,36.5,42.3,36.8,60,80.6
|
||||
c8.6,21.2,4.6,25.2,13.1,37.5c20.4,29.2,63.7,36.1,91.9,33.8c40.3-3.3,91.5-28.8,108.8-82.5c17.1-53.2-6-112.1-41.2-131.2
|
||||
c-25.3-13.7-44.9-0.5-71.2-20.6c-21.6-16.5-18.4-33.1-37.5-48.8C227.9,98.1,203.7,87.7,156.9,96z"/>
|
||||
<ellipse transform="matrix(0.6622 -0.7494 0.7494 0.6622 65.2068 309.6339)" class="st2" cx="376" cy="82.5" rx="21" ry="15.5"/>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st3" d="M379.8,75.3c0.8,0.2-0.6-0.4-0.1-0.1c0.2,0.1,0.3,0.2,0.5,0.3c0.4,0.2-0.6-0.7-0.1-0.1
|
||||
c0.1,0.1,0.7,0.8,0.2,0.2c-0.4-0.5,0,0,0.1,0.1c0.4,0.7,0,0.2,0-0.2c0,0.1,0.1,0.4,0.2,0.5c0.3,0.9-0.1-1,0-0.1
|
||||
c0.1,2.3,2,4.6,4.5,4.5c2.3-0.1,4.6-2,4.5-4.5c-0.3-4.4-3-8.1-7.3-9.4c-2.2-0.7-5,0.8-5.5,3.1C376.1,72.2,377.4,74.5,379.8,75.3
|
||||
L379.8,75.3z"/>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
<ellipse transform="matrix(0.9999 -1.433736e-02 1.433736e-02 0.9999 -4.303 0.8051)" class="st2" cx="54" cy="300.5" rx="21" ry="15.5"/>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st3" d="M52.2,297.5c1.1-0.3,1.4-0.4,2.5,0c0.8,0.3,1.3,0.7,2,1.7c1.5,1.9,4.8,1.6,6.4,0c1.9-1.9,1.5-4.4,0-6.4
|
||||
c-3.1-3.9-8.6-5.4-13.3-4C44.3,290.5,46.7,299.2,52.2,297.5L52.2,297.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st2" d="M149.3,108.8c4.9-10.8-1.3-24.2-12.9-26.9c-1.9-0.4-2.7,2.4-0.8,2.9c9.6,2.3,15.3,13.5,11.2,22.5
|
||||
C145.9,109,148.5,110.5,149.3,108.8L149.3,108.8z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st2" d="M141.2,112.3c2.4-9.4-5.4-19.3-15.2-19c-1.9,0.1-1.9,3.1,0,3c7.8-0.2,14.2,7.6,12.3,15.2
|
||||
C137.8,113.4,140.7,114.2,141.2,112.3L141.2,112.3z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st2" d="M132.6,118c-1.1-8.3-10.9-13.4-18.2-9.1c-1.7,1-0.2,3.6,1.5,2.6c5.2-3,12.9,0.4,13.7,6.5
|
||||
C129.8,119.9,132.8,119.9,132.6,118L132.6,118z"/>
|
||||
</g>
|
||||
</g>
|
||||
<path class="st5" d="M215.5,166.5l34-73c0,0,35,0,46,21c7.5,14.3,8,39,8,39L215.5,166.5z"/>
|
||||
<path class="st5" d="M208.2,170.5l-79.5-12.7c0,0-19.6,29-8.4,49.9c7.6,14.2,27.8,28.5,27.8,28.5L208.2,170.5z"/>
|
||||
<path class="st2" d="M210.5,164.5l33-74c0,0-2.5-5.5-8-7s-12,0-12,0L210.5,164.5z"/>
|
||||
<path class="st2" d="M207.4,165.3l-73.1-35c0,0-5.6,2.4-7.2,7.8c-1.6,5.5-0.3,12-0.3,12L207.4,165.3z"/>
|
||||
<path d="M215.5,166.5L234,127c0,0,17-6,25.5,7.5c8.6,13.6-3.5,25.5-3.5,25.5L215.5,166.5z"/>
|
||||
<path d="M206.7,170.9l-29.6,32c0,0-18,0.5-22-14.9c-4-15.6,11.1-23.2,11.1-23.2L206.7,170.9z"/>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st3" d="M243.4,139.1c-0.6,0.2-0.7,0.3-0.4,0.2c0.3-0.1,0.2-0.1-0.5,0.1c0.7,0-0.3,0-0.4-0.1c0.1,0,0.3,0.1,0.4,0.1
|
||||
c0.3,0.1,0.2,0-0.4-0.2c0,0,0.6,0.3,0.6,0.3c0.5,0.2-0.9-0.6-0.1-0.1c0.6,0.4-0.3-0.5-0.1-0.1c0.3,0.5-0.3-1-0.1-0.2
|
||||
c0.2,0.8,0-1,0-0.1c0,2.4,2.1,4.6,4.5,4.5c2.5-0.1,4.5-2,4.5-4.5c0-3-1.6-5.7-4.1-7.3c-2.6-1.7-5.6-1.6-8.4-0.4
|
||||
c-2.2,0.9-2.8,4.3-1.6,6.2C238.7,139.7,241,140.1,243.4,139.1L243.4,139.1z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st3" d="M173.5,176.4c-0.5-0.3-0.1,0,0.2,0.1c-0.7-0.6,0.3,0.5,0.1,0c-0.3-0.5,0.4,0.8,0.1,0.2
|
||||
c-0.4-0.8,0.2,0.2,0,0.1c0,0,0-0.6,0-0.6c-0.1,0.1-0.1,1,0,0.3c-0.1,0.2-0.1,0.3-0.2,0.5c0.2-0.3,0.2-0.4,0-0.1
|
||||
c-0.2,0.2-0.2,0.3-0.1,0.1c0.2-0.2,0.1-0.2-0.3,0.2c1.9-1.4,3-4,1.6-6.2c-1.2-1.9-4.1-3.1-6.2-1.6c-2.4,1.7-4,4.3-3.9,7.4
|
||||
c0.1,3,1.6,5.7,4.1,7.3c2,1.2,5,0.5,6.2-1.6C176.3,180.4,175.7,177.7,173.5,176.4L173.5,176.4z"/>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
<ellipse transform="matrix(0.862 -0.5069 0.5069 0.862 -88.3186 186.5516)" class="st6" cx="298.5" cy="255.5" rx="79.5" ry="68.5"/>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st7" d="M173.6,109.8c-2.1,2-3.9,4.6-3.6,7.6c0.3,3.5,2.8,6.6,6.6,6.7c6,0.2,11.5-7.7,8.2-13c-1-1.7-3.1-3.1-5.2-3
|
||||
c-1.7,0.1-3.1,0.8-4.4,1.9c-2,1.8-2.8,5.2-1.9,7.7c2.4,6.6,11.8,5.9,13.8-0.7c0.7-2.5-0.9-5.6-3.5-6.2c-2.7-0.6-5.4,0.8-6.2,3.5
|
||||
c0.6-2.1,3.1-2.6,4.6-1c0.8,0.9,1,1.8,0.8,2.8c0.2-0.5,0.1-0.4-0.1,0.3c-0.4,0.7-1,1.2-1.8,1.4c-0.9,0-1.8,0-2.7,0
|
||||
c-1.8-0.6-2.5-1.6-2.3-3.1c-0.1-0.4-0.1-0.7,0.1-1c0.2-0.3,0.1-0.3-0.1,0.1c0.1-0.1,0.2-0.2,0.3-0.4c-0.2,0.3-0.5,0.5-0.7,0.8
|
||||
c-0.1,0.1-0.2,0.2-0.3,0.3c-0.3,0.2-0.2,0.2,0.1-0.1c1.3,0.2,2.6,0.4,3.9,0.6c0.2,0.4,0.5,0.9,0.7,1.3c0.2,0.6-0.2,0.9-0.2,1.4
|
||||
c0,0.4,0.4-0.5-0.1,0.1c0.3-0.4,0.6-0.7,1-1c1.9-1.8,2-5.3,0-7.1C178.7,107.9,175.6,107.8,173.6,109.8L173.6,109.8z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st7" d="M151.2,248.6c-5.7,7,1.7,16.9,10,13.3c3.4-1.5,6.3-5,6.3-8.9c0-4.2-2.7-7.6-7-7.8c-3.1-0.1-5.8,3.3-4.8,6.3
|
||||
c1.2,3.4,3.7,6.1,7.3,7c2.6,0.6,5.4-0.8,6.2-3.5c0.7-2.5-0.9-5.5-3.5-6.2c-1.7-0.4,0,0.1-0.2,0.1c-0.4,0-0.4-0.8-0.1-0.1
|
||||
c-1.6,2.1-3.2,4.2-4.8,6.3c-2.4-0.1-2.8-1.1-3-2.6c0.1,0.7-0.1,0.2,0.1-0.1c0.7-0.9-0.5,0.5,0,0c-0.5,0.5-0.3,0.1-0.2,0.2
|
||||
c0.1,0,0.6,0,0.7,0c0.4,0.1,0.5,0.4,0.8,0.6c0.2,0.3,0.2,0.2-0.1-0.2c0.1,0.1,0.1,0.3,0.2,0.4c0,1,0.1,1.1-0.7,2.1
|
||||
c1.7-2.1,2-5,0-7.1C156.5,246.8,152.9,246.5,151.2,248.6L151.2,248.6z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st7" d="M204.1,205.7c0.8,4.8,5.3,8.6,10.1,8.6c5.1,0,9.5-3.9,10.3-8.9c0.7-4.4-0.2-12.1-5.3-13.6
|
||||
c-2.7-0.8-5.2,0.5-7,2.4c-1.1,1.2-1.5,1.7-3.1,1.2c0.7,2.8,1.5,5.6,2.2,8.4c0.2-0.2-0.5,0.2-0.5,0.2c6.3,1.4,8.9-8.2,2.7-9.6
|
||||
c-3.5-0.8-6.6,0-9.3,2.4c-3,2.6-1.1,7.2,2.2,8.4c2.6,0.9,5.5,0.8,8-0.2c1.3-0.5,2.4-1.2,3.4-2.1c0.4-0.3,0.7-0.6,1-1
|
||||
c0.2-0.3,0.4-0.5,0.6-0.7c0.4-0.4,0.3-0.4-0.5,0.3c-0.9,0-1.8,0-2.7,0c0.2,0.1,0.3,0.1,0.5,0.2c-0.7-0.4-1.5-0.9-2.2-1.3
|
||||
c0.1,0.2,0.3,0.3,0.4,0.5c-0.4-0.7-0.9-1.5-1.3-2.2c0.4,1.2,0.8,2.5,1,3.7c0,0.4,0,0.8,0,1.2c0,0.5-0.5,0.9,0,0.4
|
||||
c-0.8,0.6-0.9,0.2-1.1-0.9c-0.4-2.7-3.8-4.1-6.2-3.5C204.7,200.3,203.7,203,204.1,205.7L204.1,205.7z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st7" d="M265.9,179.6c0.2,0.4,0.5,0.9,0.7,1.3c0.6,1.1,1.8,2,3,2.3c1.2,0.3,2.8,0.2,3.9-0.5c1.1-0.7,2-1.7,2.3-3
|
||||
c0.3-1.4,0.1-2.6-0.5-3.9c-0.2-0.4-0.5-0.9-0.7-1.3c-0.6-1.1-1.8-2-3-2.3c-1.2-0.3-2.8-0.2-3.9,0.5c-1.1,0.7-2,1.7-2.3,3
|
||||
C265.1,177.1,265.3,178.3,265.9,179.6L265.9,179.6z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st7" d="M200.4,295.8c-6.1,1.6-8.1,8.6-5,13.7c2.8,4.7,9.1,7.2,14.3,5.4c4.9-1.7,7.8-7.1,6.3-12.2
|
||||
c-0.8-2.7-2.7-4.8-5.3-5.8c-1.4-0.5-2.8-0.7-4.2-0.8c-0.1,0-0.9-0.1-0.9-0.1c0.2-0.4,1.2,2.5,0.9,0.7c0,0.9,0,1.8,0,2.7
|
||||
c-0.1,0.1-0.1,0.1-0.2,0.2c3.1-5.6-5.5-10.7-8.6-5c-1.7,3-1.1,6.6,1.4,9c1.3,1.2,2.8,2,4.5,2.3c0.8,0.1,1.6,0.2,2.4,0.3
|
||||
c0.4,0,0.7,0,1.1,0.1c0.2,0.1,0.1,0.1-0.2-0.1c0,0.1-0.6-0.5-0.6-0.5c-0.1-0.1-0.1-0.2,0-0.3c0.1-0.3,0.1-0.1-0.1,0.5
|
||||
c-0.3-0.1,0.7-0.2-0.3-0.3c-0.9-0.1-1.1-0.6-1.8-0.9c0,0-0.2-0.3-0.3-0.3c0.3,0-0.8,1.2-0.8,1.2
|
||||
C209.3,303.8,206.6,294.2,200.4,295.8L200.4,295.8z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st7" d="M244.8,355.3c-4-6.2-11.2-2.3-12,3.9c-0.8,5.9,1.8,12,6.5,15.6c4.5,3.5,11.5,4.9,16.7,2.1
|
||||
c6.4-3.3,5.4-9.8,4.9-15.9c-0.5-6.3-1.9-12-9.5-12.1c-5.1-0.1-13.1,0.2-14.5,6.4c-1.2,5.4,2.5,12.8,8.2,13.8
|
||||
c6.2,1.1,11.2-5.5,7.8-11c-2.2-3.5-8.1-3.1-9.1,1.2c-1.1,4.4,0.5,8,4.1,10.6c5.2,3.8,10.2-4.8,5-8.6c0.2,0.2,0.4,0.5,0.5,0.7
|
||||
c-3,0.4-6.1,0.8-9.1,1.2c-0.4-0.7,3.4-3.1,2.9-4.8c-0.8-2.6-1.7,1.4-1.9,1.1c0,0.1,5.2-0.1,5.6-0.4c0.7,0.1,0.8-0.1,0.2-0.6
|
||||
c-0.4-0.7-0.5-0.8-0.4-0.3c-0.2,0.3,0.2,1.9,0.2,2.3c0.2,2,0.3,4,0.5,5.9c0.1,1.6,0.4,1.7-1.1,2c-1.3,0.2-2.9-0.3-4-0.9
|
||||
c-1.4-0.8-2.5-2-3.1-3.5c-0.3-0.7-0.4-1.3-0.5-2c0-0.3-0.1-0.7,0-1c0.2-1.9-1.1-1.5-3.8,1.2c-1-0.8-2-1.5-3-2.3
|
||||
c0.1,0.2,0.2,0.4,0.4,0.6C239.6,365.7,248.3,360.7,244.8,355.3L244.8,355.3z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st7" d="M336.5,337.4c-2.4-1.5-5.1-2.5-7.9-1.8c-2.7,0.7-4.9,3.2-5.3,6c-0.9,6.4,6.3,8.3,11.2,8.4
|
||||
c4.8,0.1,10.6-2.4,10.9-7.9c0.2-5.6-5.5-9.6-10.6-6.9c-5.7,3-0.7,11.6,5,8.6c-0.1,0.1-0.2,0.1-0.3,0.2c-0.9,0-1.8,0-2.7,0
|
||||
c-2.1-0.4-1.4-4.8-0.3-4.3c0,0-1.3,0.3-1.3,0.3c-0.6,0-1.2,0-1.8-0.1c-0.5-0.1-1-0.2-1.5-0.4c-1.2-0.5-1-0.2,0.6,0.7
|
||||
c0.2,0.8,0.5,1.7,0.7,2.5c-3.4,1.1-4.4,1.9-2.8,2.7c0.4,0.2,0.7,0.4,1.1,0.7C336.9,349.6,341.9,340.9,336.5,337.4L336.5,337.4z"
|
||||
/>
|
||||
</g>
|
||||
</g>
|
||||
<path class="st3" d="M224.3,256.5L252,273v-40l32,20v-38l28,17l4-28l23,12l-3-24c0,0-14-8-35.5-6.4c-11.6,0.9-24.3,6.8-33.5,11.4
|
||||
c-14,7-23.7,18.9-31.2,29.1C227,238,224.3,256.5,224.3,256.5z"/>
|
||||
<path class="st3" d="M372.9,248.9l-28.8-14.5l2.9,39.9l-33.3-17.7l2.7,37.9l-29.1-15l-2,28.2l-23.8-10.3l4.7,23.7
|
||||
c0,0,14.5,7,35.9,3.8c11.5-1.7,23.7-8.5,32.6-13.8c13.5-8,22.3-20.5,29-31.2C371.5,267.5,372.9,248.9,372.9,248.9z"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st8" d="M235.2,121.6c8.5-3.1,23.2-0.1,27.8,8.4c2.3,4.4,4.5,9.9,4.5,14.9c0.1,5.5-2.7,10.5-5.3,15.3
|
||||
c-1.5,2.8,2.8,5.4,4.3,2.5c3.1-5.8,6.3-11.9,6-18.7c-0.3-6-2.8-12.8-5.9-17.9c-6-9.5-22.6-13.1-32.7-9.4
|
||||
C230.9,117.8,232.2,122.7,235.2,121.6L235.2,121.6z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st8" d="M241.1,110.5c11.6-2.3,25.6,2.3,32.2,12.4c6.6,10.2,6.1,22.8,3.1,34.2c-1.3,5,6.4,7.1,7.7,2.1
|
||||
c3.8-14.3,3.8-30.3-5.5-42.6c-8.9-11.7-25.5-16.6-39.6-13.8C233.9,103.8,236.1,111.5,241.1,110.5L241.1,110.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st8" d="M245.4,97.5c7.8-1.8,15.5,0,22.9,2.8c7.2,2.7,15,6.1,20.3,11.8c10.7,11.7,9.5,29.3,8.7,44
|
||||
c-0.3,6.4,9.7,6.4,10,0c1-17.9,1.2-38.5-12.7-52.1c-6.4-6.3-15.3-10.2-23.6-13.3c-9.1-3.4-18.6-4.9-28.2-2.8
|
||||
C236.5,89.2,239.1,98.9,245.4,97.5L245.4,97.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st8" d="M155.8,158.5c-13.1,4.8-14.2,21.6-10.1,33.1c4.3,12,15.2,20.6,28.2,20.5c3.2,0,3.2-5,0-5
|
||||
c-9.9,0.1-18.6-5.9-22.6-14.9c-3.9-8.6-5.2-24.8,5.8-28.9C160.2,162.3,158.9,157.4,155.8,158.5L155.8,158.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st8" d="M164.1,216.5c-11.4-2.2-18.8-11.4-22.7-21.9c-3.6-9.6-7.7-25.3,1.2-33.1c3.9-3.4-1.8-9-5.7-5.7
|
||||
c-11.3,9.9-7.9,28.5-3.3,40.9c4.8,13,14.1,24.7,28.3,27.5C167,225.2,169.1,217.5,164.1,216.5L164.1,216.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st8" d="M152,231.7c-27.3-13.3-38.1-46.5-23.3-73.2c3.1-5.6-5.5-10.7-8.6-5c-17.3,31.2-5.3,71.1,26.9,86.9
|
||||
C152.7,243.1,157.8,234.5,152,231.7L152,231.7z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
@ -11,7 +11,10 @@ describe('<_AddResourceRole />', () => {
|
||||
UsersAPI.read.mockResolvedValue({
|
||||
data: {
|
||||
count: 2,
|
||||
results: [{ id: 1, username: 'foo' }, { id: 2, username: 'bar' }],
|
||||
results: [
|
||||
{ id: 1, username: 'foo' },
|
||||
{ id: 2, username: 'bar' },
|
||||
],
|
||||
},
|
||||
});
|
||||
const roles = {
|
||||
|
||||
@ -1,15 +1,13 @@
|
||||
import React, { Fragment } from 'react';
|
||||
|
||||
import { BackgroundImage, BackgroundImageSrc } from '@patternfly/react-core';
|
||||
import bgFilter from '@patternfly/patternfly/assets/images/background-filter.svg';
|
||||
|
||||
const backgroundImageConfig = {
|
||||
[BackgroundImageSrc.xs]: '/assets/images/pfbg_576.jpg',
|
||||
[BackgroundImageSrc.xs2x]: '/assets/images/pfbg_576@2x.jpg',
|
||||
[BackgroundImageSrc.sm]: '/assets/images/pfbg_768.jpg',
|
||||
[BackgroundImageSrc.sm2x]: '/assets/images/pfbg_768@2x.jpg',
|
||||
[BackgroundImageSrc.lg]: '/assets/images/pfbg_2000.jpg',
|
||||
[BackgroundImageSrc.filter]: `${bgFilter}#image_overlay`,
|
||||
[BackgroundImageSrc.xs]: './images/pfbg_576.jpg',
|
||||
[BackgroundImageSrc.xs2x]: './images/pfbg_576@2x.jpg',
|
||||
[BackgroundImageSrc.sm]: './images/pfbg_768.jpg',
|
||||
[BackgroundImageSrc.sm2x]: './images/pfbg_768@2x.jpg',
|
||||
[BackgroundImageSrc.lg]: './images/pfbg_2000.jpg',
|
||||
};
|
||||
|
||||
export default ({ children }) => (
|
||||
|
||||
@ -51,7 +51,10 @@ function VariablesDetail({ value, label, rows, fullHeight }) {
|
||||
</SplitItem>
|
||||
<SplitItem>
|
||||
<MultiButtonToggle
|
||||
buttons={[[YAML_MODE, 'YAML'], [JSON_MODE, 'JSON']]}
|
||||
buttons={[
|
||||
[YAML_MODE, 'YAML'],
|
||||
[JSON_MODE, 'JSON'],
|
||||
]}
|
||||
value={mode}
|
||||
onChange={newMode => {
|
||||
try {
|
||||
|
||||
@ -10,7 +10,7 @@ describe('<VariablesDetail>', () => {
|
||||
const wrapper = shallow(
|
||||
<VariablesDetail value="---foo: bar" label="Variables" />
|
||||
);
|
||||
const input = wrapper.find('Styled(CodeMirrorInput)');
|
||||
const input = wrapper.find('CodeMirrorInput');
|
||||
expect(input).toHaveLength(1);
|
||||
expect(input.prop('mode')).toEqual('yaml');
|
||||
expect(input.prop('value')).toEqual('---foo: bar');
|
||||
@ -21,7 +21,7 @@ describe('<VariablesDetail>', () => {
|
||||
const wrapper = shallow(
|
||||
<VariablesDetail value='{"foo": "bar"}' label="Variables" />
|
||||
);
|
||||
const input = wrapper.find('Styled(CodeMirrorInput)');
|
||||
const input = wrapper.find('CodeMirrorInput');
|
||||
expect(input).toHaveLength(1);
|
||||
expect(input.prop('mode')).toEqual('javascript');
|
||||
expect(input.prop('value')).toEqual('{"foo": "bar"}');
|
||||
@ -32,19 +32,19 @@ describe('<VariablesDetail>', () => {
|
||||
<VariablesDetail value="---foo: bar" label="Variables" />
|
||||
);
|
||||
wrapper.find('MultiButtonToggle').invoke('onChange')('javascript');
|
||||
const input = wrapper.find('Styled(CodeMirrorInput)');
|
||||
const input = wrapper.find('CodeMirrorInput');
|
||||
expect(input.prop('mode')).toEqual('javascript');
|
||||
expect(input.prop('value')).toEqual('{\n "foo": "bar"\n}');
|
||||
|
||||
wrapper.find('MultiButtonToggle').invoke('onChange')('yaml');
|
||||
const input2 = wrapper.find('Styled(CodeMirrorInput)');
|
||||
const input2 = wrapper.find('CodeMirrorInput');
|
||||
expect(input2.prop('mode')).toEqual('yaml');
|
||||
expect(input2.prop('value')).toEqual('foo: bar\n');
|
||||
});
|
||||
|
||||
test('should render label and value= --- when there are no values', () => {
|
||||
const wrapper = shallow(<VariablesDetail value="" label="Variables" />);
|
||||
expect(wrapper.find('Styled(CodeMirrorInput)').length).toBe(1);
|
||||
expect(wrapper.find('CodeMirrorInput').length).toBe(1);
|
||||
expect(wrapper.find('div.pf-c-form__label').text()).toBe('Variables');
|
||||
});
|
||||
|
||||
@ -59,14 +59,14 @@ describe('<VariablesDetail>', () => {
|
||||
value: '---bar: baz',
|
||||
});
|
||||
wrapper.update();
|
||||
const input = wrapper.find('Styled(CodeMirrorInput)');
|
||||
const input = wrapper.find('CodeMirrorInput');
|
||||
expect(input.prop('mode')).toEqual('javascript');
|
||||
expect(input.prop('value')).toEqual('{\n "bar": "baz"\n}');
|
||||
});
|
||||
|
||||
test('should default yaml value to "---"', () => {
|
||||
const wrapper = shallow(<VariablesDetail value="" label="Variables" />);
|
||||
const input = wrapper.find('Styled(CodeMirrorInput)');
|
||||
const input = wrapper.find('CodeMirrorInput');
|
||||
expect(input.prop('value')).toEqual('---');
|
||||
});
|
||||
|
||||
@ -76,7 +76,7 @@ describe('<VariablesDetail>', () => {
|
||||
wrapper.find('MultiButtonToggle').invoke('onChange')('javascript');
|
||||
});
|
||||
wrapper.setProps({ value: '' });
|
||||
const input = wrapper.find('Styled(CodeMirrorInput)');
|
||||
const input = wrapper.find('CodeMirrorInput');
|
||||
expect(input.prop('value')).toEqual('{}');
|
||||
});
|
||||
});
|
||||
|
||||
@ -44,7 +44,10 @@ function VariablesField({
|
||||
</SplitItem>
|
||||
<SplitItem>
|
||||
<MultiButtonToggle
|
||||
buttons={[[YAML_MODE, 'YAML'], [JSON_MODE, 'JSON']]}
|
||||
buttons={[
|
||||
[YAML_MODE, 'YAML'],
|
||||
[JSON_MODE, 'JSON'],
|
||||
]}
|
||||
value={mode}
|
||||
onChange={newMode => {
|
||||
try {
|
||||
|
||||
@ -43,7 +43,10 @@ function VariablesInput(props) {
|
||||
</SplitItem>
|
||||
<SplitItemRight>
|
||||
<MultiButtonToggle
|
||||
buttons={[[YAML_MODE, 'YAML'], [JSON_MODE, 'JSON']]}
|
||||
buttons={[
|
||||
[YAML_MODE, 'YAML'],
|
||||
[JSON_MODE, 'JSON'],
|
||||
]}
|
||||
value={mode}
|
||||
onChange={newMode => {
|
||||
try {
|
||||
|
||||
@ -1,9 +1,12 @@
|
||||
import { DataListCell } from '@patternfly/react-core';
|
||||
import { DataListCell as PFDataListCell } from '@patternfly/react-core';
|
||||
import styled from 'styled-components';
|
||||
|
||||
DataListCell.displayName = 'PFDataListCell';
|
||||
PFDataListCell.displayName = 'PFDataListCell';
|
||||
// Once https://github.com/patternfly/patternfly-react/issues/3938
|
||||
// has been resolved this component can be removed
|
||||
export default styled(DataListCell)`
|
||||
const DataListCell = styled(PFDataListCell)`
|
||||
word-break: break-word;
|
||||
`;
|
||||
DataListCell.displayName = 'DataListCell';
|
||||
|
||||
export default DataListCell;
|
||||
|
||||
@ -112,6 +112,12 @@ function DisassociateButton({
|
||||
);
|
||||
}
|
||||
|
||||
DisassociateButton.defaultProps = {
|
||||
itemsToDisassociate: [],
|
||||
modalNote: '',
|
||||
modalTitle: '',
|
||||
};
|
||||
|
||||
DisassociateButton.propTypes = {
|
||||
itemsToDisassociate: arrayOf(object),
|
||||
modalNote: string,
|
||||
|
||||
@ -3,8 +3,8 @@ import { Wizard } from '@patternfly/react-core';
|
||||
import { withI18n } from '@lingui/react';
|
||||
import { t } from '@lingui/macro';
|
||||
import { Formik } from 'formik';
|
||||
import ContentError from '../../components/ContentError';
|
||||
import ContentLoading from '../../components/ContentLoading';
|
||||
import ContentError from '../ContentError';
|
||||
import ContentLoading from '../ContentLoading';
|
||||
import mergeExtraVars from './mergeExtraVars';
|
||||
import useSteps from './useSteps';
|
||||
import getSurveyValues from './getSurveyValues';
|
||||
@ -36,7 +36,10 @@ function LaunchPrompt({ config, resource, onLaunch, onCancel, i18n }) {
|
||||
};
|
||||
const surveyValues = getSurveyValues(values);
|
||||
setValue('inventory_id', values.inventory?.id);
|
||||
setValue('credentials', values.credentials?.map(c => c.id));
|
||||
setValue(
|
||||
'credentials',
|
||||
values.credentials?.map(c => c.id)
|
||||
);
|
||||
setValue('job_type', values.job_type);
|
||||
setValue('limit', values.limit);
|
||||
setValue('job_tags', values.job_tags);
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
import React from 'react';
|
||||
import { act, isElementOfType } from 'react-dom/test-utils';
|
||||
import { mountWithContexts, waitForElement } from '../../../testUtils/enzymeHelpers';
|
||||
import {
|
||||
mountWithContexts,
|
||||
waitForElement,
|
||||
} from '../../../testUtils/enzymeHelpers';
|
||||
import LaunchPrompt from './LaunchPrompt';
|
||||
import InventoryStep from './steps/InventoryStep';
|
||||
import CredentialsStep from './steps/CredentialsStep';
|
||||
|
||||
@ -5,11 +5,11 @@ import { t } from '@lingui/macro';
|
||||
import { useField } from 'formik';
|
||||
import { ToolbarItem } from '@patternfly/react-core';
|
||||
import { CredentialsAPI, CredentialTypesAPI } from '../../../api';
|
||||
import AnsibleSelect from '../../../components/AnsibleSelect';
|
||||
import OptionsList from '../../../components/OptionsList';
|
||||
import ContentLoading from '../../../components/ContentLoading';
|
||||
import CredentialChip from '../../../components/CredentialChip';
|
||||
import ContentError from '../../../components/ContentError';
|
||||
import AnsibleSelect from '../../AnsibleSelect';
|
||||
import OptionsList from '../../OptionsList';
|
||||
import ContentLoading from '../../ContentLoading';
|
||||
import CredentialChip from '../../CredentialChip';
|
||||
import ContentError from '../../ContentError';
|
||||
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
||||
import useRequest from '../../../util/useRequest';
|
||||
import { required } from '../../../util/validators';
|
||||
|
||||
@ -1,12 +1,12 @@
|
||||
import React from 'react';
|
||||
import { act } from 'react-dom/test-utils';
|
||||
import { Formik } from 'formik';
|
||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||
import { mountWithContexts } from '../../../../testUtils/enzymeHelpers';
|
||||
import CredentialsStep from './CredentialsStep';
|
||||
import { CredentialsAPI, CredentialTypesAPI } from '../../api';
|
||||
import { CredentialsAPI, CredentialTypesAPI } from '../../../api';
|
||||
|
||||
jest.mock('../../api/models/CredentialTypes');
|
||||
jest.mock('../../api/models/Credentials');
|
||||
jest.mock('../../../api/models/CredentialTypes');
|
||||
jest.mock('../../../api/models/Credentials');
|
||||
|
||||
const types = [
|
||||
{ id: 1, kind: 'ssh', name: 'SSH' },
|
||||
|
||||
@ -6,9 +6,9 @@ import { useField } from 'formik';
|
||||
import { InventoriesAPI } from '../../../api';
|
||||
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
||||
import useRequest from '../../../util/useRequest';
|
||||
import OptionsList from '../../../components/OptionsList';
|
||||
import ContentLoading from '../../../components/ContentLoading';
|
||||
import ContentError from '../../../components/ContentError';
|
||||
import OptionsList from '../../OptionsList';
|
||||
import ContentLoading from '../../ContentLoading';
|
||||
import ContentError from '../../ContentError';
|
||||
import { required } from '../../../util/validators';
|
||||
|
||||
const QS_CONFIG = getQSConfig('inventory', {
|
||||
|
||||
@ -1,11 +1,11 @@
|
||||
import React from 'react';
|
||||
import { act } from 'react-dom/test-utils';
|
||||
import { Formik } from 'formik';
|
||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||
import { mountWithContexts } from '../../../../testUtils/enzymeHelpers';
|
||||
import InventoryStep from './InventoryStep';
|
||||
import { InventoriesAPI } from '../../api';
|
||||
import { InventoriesAPI } from '../../../api';
|
||||
|
||||
jest.mock('../../api/models/Inventories');
|
||||
jest.mock('../../../api/models/Inventories');
|
||||
|
||||
const inventories = [
|
||||
{ id: 1, name: 'inv one', url: '/inventories/1' },
|
||||
|
||||
@ -4,10 +4,10 @@ import { t } from '@lingui/macro';
|
||||
import { useField } from 'formik';
|
||||
import { Form, FormGroup, Switch } from '@patternfly/react-core';
|
||||
import styled from 'styled-components';
|
||||
import FormField, { FieldTooltip } from '../FormField';
|
||||
import { TagMultiSelect } from '../MultiSelect';
|
||||
import AnsibleSelect from '../AnsibleSelect';
|
||||
import { VariablesField } from '../CodeMirrorInput';
|
||||
import FormField, { FieldTooltip } from '../../FormField';
|
||||
import { TagMultiSelect } from '../../MultiSelect';
|
||||
import AnsibleSelect from '../../AnsibleSelect';
|
||||
import { VariablesField } from '../../CodeMirrorInput';
|
||||
|
||||
const FieldHeader = styled.div`
|
||||
display: flex;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import React from 'react';
|
||||
import { act } from 'react-dom/test-utils';
|
||||
import { Formik } from 'formik';
|
||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||
import { mountWithContexts } from '../../../../testUtils/enzymeHelpers';
|
||||
import OtherPromptsStep from './OtherPromptsStep';
|
||||
|
||||
describe('OtherPromptsStep', () => {
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import React from 'react';
|
||||
import { useFormikContext } from 'formik';
|
||||
import yaml from 'js-yaml';
|
||||
import PromptDetail from '../../../components/PromptDetail';
|
||||
import PromptDetail from '../../PromptDetail';
|
||||
import mergeExtraVars, { maskPasswords } from '../mergeExtraVars';
|
||||
import getSurveyValues from '../getSurveyValues';
|
||||
|
||||
|
||||
@ -8,8 +8,8 @@ import {
|
||||
SelectOption,
|
||||
SelectVariant,
|
||||
} from '@patternfly/react-core';
|
||||
import FormField, { FieldTooltip } from '../../../components/FormField';
|
||||
import AnsibleSelect from '../../../components/AnsibleSelect';
|
||||
import FormField, { FieldTooltip } from '../../FormField';
|
||||
import AnsibleSelect from '../../AnsibleSelect';
|
||||
import {
|
||||
required,
|
||||
minMaxValue,
|
||||
|
||||
@ -8,7 +8,7 @@ import { CredentialsAPI } from '../../api';
|
||||
import { Credential } from '../../types';
|
||||
import { getQSConfig, parseQueryString, mergeParams } from '../../util/qs';
|
||||
import { FieldTooltip } from '../FormField';
|
||||
import Lookup from '.';
|
||||
import Lookup from './Lookup';
|
||||
import OptionsList from '../OptionsList';
|
||||
import LookupErrorMessage from './shared/LookupErrorMessage';
|
||||
|
||||
|
||||
@ -5,7 +5,7 @@ import { withI18n } from '@lingui/react';
|
||||
import { t } from '@lingui/macro';
|
||||
import { InventoriesAPI } from '../../api';
|
||||
import { Inventory } from '../../types';
|
||||
import Lookup from '.';
|
||||
import Lookup from './Lookup';
|
||||
import OptionsList from '../OptionsList';
|
||||
import { getQSConfig, parseQueryString } from '../../util/qs';
|
||||
import LookupErrorMessage from './shared/LookupErrorMessage';
|
||||
|
||||
@ -17,10 +17,10 @@ import {
|
||||
InputGroup as PFInputGroup,
|
||||
Modal,
|
||||
} from '@patternfly/react-core';
|
||||
import ChipGroup from '../../components/ChipGroup';
|
||||
import { withI18n } from '@lingui/react';
|
||||
import { t } from '@lingui/macro';
|
||||
import styled from 'styled-components';
|
||||
import ChipGroup from '../ChipGroup';
|
||||
|
||||
import reducer, { initReducer } from './shared/reducer';
|
||||
import { QSConfig } from '../../types';
|
||||
|
||||
@ -8,7 +8,10 @@ describe('<MultiButtonToggle />', () => {
|
||||
beforeAll(() => {
|
||||
wrapper = mount(
|
||||
<MultiButtonToggle
|
||||
buttons={[['yaml', 'YAML'], ['json', 'JSON']]}
|
||||
buttons={[
|
||||
['yaml', 'YAML'],
|
||||
['json', 'JSON'],
|
||||
]}
|
||||
value="yaml"
|
||||
onChange={onChange}
|
||||
/>
|
||||
|
||||
@ -42,8 +42,8 @@ exports[`<NotificationListItem canToggleNotifications /> initially renders succe
|
||||
<DataListItemCells
|
||||
dataListCells={
|
||||
Array [
|
||||
<DataListCell>
|
||||
<Link
|
||||
<ForwardRef(Styled(PFDataListCell))>
|
||||
<ForwardRef
|
||||
to={
|
||||
Object {
|
||||
"pathname": "/foo",
|
||||
@ -55,11 +55,11 @@ exports[`<NotificationListItem canToggleNotifications /> initially renders succe
|
||||
>
|
||||
Foo
|
||||
</b>
|
||||
</Link>
|
||||
</DataListCell>,
|
||||
<DataListCell>
|
||||
</ForwardRef>
|
||||
</ForwardRef(Styled(PFDataListCell))>,
|
||||
<ForwardRef(Styled(PFDataListCell))>
|
||||
Slack
|
||||
</DataListCell>,
|
||||
</ForwardRef(Styled(PFDataListCell))>,
|
||||
]
|
||||
}
|
||||
key=".0"
|
||||
@ -77,17 +77,19 @@ exports[`<NotificationListItem canToggleNotifications /> initially renders succe
|
||||
"$$typeof": Symbol(react.forward_ref),
|
||||
"attrs": Array [],
|
||||
"componentStyle": ComponentStyle {
|
||||
"componentId": "DataListCell-sc-18ntxrx-0",
|
||||
"isStatic": true,
|
||||
"lastClassName": "flJMIO",
|
||||
"componentId": "sc-bdVaJa",
|
||||
"isStatic": false,
|
||||
"lastClassName": "kruorc",
|
||||
"rules": Array [
|
||||
"word-break:break-word;",
|
||||
"
|
||||
word-break: break-word;
|
||||
",
|
||||
],
|
||||
},
|
||||
"displayName": "DataListCell",
|
||||
"foldedComponentIds": Array [],
|
||||
"render": [Function],
|
||||
"styledComponentId": "DataListCell-sc-18ntxrx-0",
|
||||
"styledComponentId": "sc-bdVaJa",
|
||||
"target": [Function],
|
||||
"toString": [Function],
|
||||
"warnTooManyClasses": [Function],
|
||||
@ -97,10 +99,10 @@ exports[`<NotificationListItem canToggleNotifications /> initially renders succe
|
||||
forwardedRef={null}
|
||||
>
|
||||
<PFDataListCell
|
||||
className="DataListCell-sc-18ntxrx-0 flJMIO"
|
||||
className="sc-bdVaJa kruorc"
|
||||
>
|
||||
<div
|
||||
className="pf-c-data-list__cell DataListCell-sc-18ntxrx-0 flJMIO"
|
||||
className="pf-c-data-list__cell sc-bdVaJa kruorc"
|
||||
>
|
||||
<Link
|
||||
to={
|
||||
@ -138,17 +140,19 @@ exports[`<NotificationListItem canToggleNotifications /> initially renders succe
|
||||
"$$typeof": Symbol(react.forward_ref),
|
||||
"attrs": Array [],
|
||||
"componentStyle": ComponentStyle {
|
||||
"componentId": "DataListCell-sc-18ntxrx-0",
|
||||
"isStatic": true,
|
||||
"lastClassName": "flJMIO",
|
||||
"componentId": "sc-bdVaJa",
|
||||
"isStatic": false,
|
||||
"lastClassName": "kruorc",
|
||||
"rules": Array [
|
||||
"word-break:break-word;",
|
||||
"
|
||||
word-break: break-word;
|
||||
",
|
||||
],
|
||||
},
|
||||
"displayName": "DataListCell",
|
||||
"foldedComponentIds": Array [],
|
||||
"render": [Function],
|
||||
"styledComponentId": "DataListCell-sc-18ntxrx-0",
|
||||
"styledComponentId": "sc-bdVaJa",
|
||||
"target": [Function],
|
||||
"toString": [Function],
|
||||
"warnTooManyClasses": [Function],
|
||||
@ -158,10 +162,10 @@ exports[`<NotificationListItem canToggleNotifications /> initially renders succe
|
||||
forwardedRef={null}
|
||||
>
|
||||
<PFDataListCell
|
||||
className="DataListCell-sc-18ntxrx-0 flJMIO"
|
||||
className="sc-bdVaJa kruorc"
|
||||
>
|
||||
<div
|
||||
className="pf-c-data-list__cell DataListCell-sc-18ntxrx-0 flJMIO"
|
||||
className="pf-c-data-list__cell sc-bdVaJa kruorc"
|
||||
>
|
||||
Slack
|
||||
</div>
|
||||
@ -170,7 +174,7 @@ exports[`<NotificationListItem canToggleNotifications /> initially renders succe
|
||||
</DataListCell>
|
||||
</div>
|
||||
</DataListItemCells>
|
||||
<NotificationListItem__DataListAction
|
||||
<Styled(DataListAction)
|
||||
aria-label="actions"
|
||||
aria-labelledby="items-list-item-9000"
|
||||
id="items-list-item-9000"
|
||||
@ -185,17 +189,22 @@ exports[`<NotificationListItem canToggleNotifications /> initially renders succe
|
||||
"$$typeof": Symbol(react.forward_ref),
|
||||
"attrs": Array [],
|
||||
"componentStyle": ComponentStyle {
|
||||
"componentId": "NotificationListItem__DataListAction-w674ng-0",
|
||||
"isStatic": true,
|
||||
"lastClassName": "hhZchj",
|
||||
"componentId": "sc-bwzfXH",
|
||||
"isStatic": false,
|
||||
"lastClassName": "llKtln",
|
||||
"rules": Array [
|
||||
"align-items:center;display:grid;grid-gap:16px;grid-template-columns:repeat(3,max-content);",
|
||||
"
|
||||
align-items: center;
|
||||
display: grid;
|
||||
grid-gap: 16px;
|
||||
grid-template-columns: repeat(3, max-content);
|
||||
",
|
||||
],
|
||||
},
|
||||
"displayName": "NotificationListItem__DataListAction",
|
||||
"displayName": "Styled(DataListAction)",
|
||||
"foldedComponentIds": Array [],
|
||||
"render": [Function],
|
||||
"styledComponentId": "NotificationListItem__DataListAction-w674ng-0",
|
||||
"styledComponentId": "sc-bwzfXH",
|
||||
"target": [Function],
|
||||
"toString": [Function],
|
||||
"warnTooManyClasses": [Function],
|
||||
@ -209,12 +218,12 @@ exports[`<NotificationListItem canToggleNotifications /> initially renders succe
|
||||
<DataListAction
|
||||
aria-label="actions"
|
||||
aria-labelledby="items-list-item-9000"
|
||||
className="NotificationListItem__DataListAction-w674ng-0 hhZchj"
|
||||
className="sc-bwzfXH llKtln"
|
||||
id="items-list-item-9000"
|
||||
rowid="items-list-item-9000"
|
||||
>
|
||||
<div
|
||||
className="pf-c-data-list__item-action NotificationListItem__DataListAction-w674ng-0 hhZchj"
|
||||
className="pf-c-data-list__item-action sc-bwzfXH llKtln"
|
||||
rowid="items-list-item-9000"
|
||||
>
|
||||
<Component
|
||||
@ -445,7 +454,7 @@ exports[`<NotificationListItem canToggleNotifications /> initially renders succe
|
||||
</div>
|
||||
</DataListAction>
|
||||
</StyledComponent>
|
||||
</NotificationListItem__DataListAction>
|
||||
</Styled(DataListAction)>
|
||||
</div>
|
||||
</DataListItemRow>
|
||||
</li>
|
||||
|
||||
@ -4,13 +4,13 @@ import { withI18n } from '@lingui/react';
|
||||
import { t, Trans } from '@lingui/macro';
|
||||
import { Link } from 'react-router-dom';
|
||||
import styled from 'styled-components';
|
||||
import { Chip, Divider } from '@patternfly/react-core';
|
||||
import { toTitleCase } from '../../util/strings';
|
||||
|
||||
import { Chip, Divider } from '@patternfly/react-core';
|
||||
import CredentialChip from '../../components/CredentialChip';
|
||||
import ChipGroup from '../../components/ChipGroup';
|
||||
import { DetailList, Detail, UserDateDetail } from '../../components/DetailList';
|
||||
import { VariablesDetail } from '../../components/CodeMirrorInput';
|
||||
import CredentialChip from '../CredentialChip';
|
||||
import ChipGroup from '../ChipGroup';
|
||||
import { DetailList, Detail, UserDateDetail } from '../DetailList';
|
||||
import { VariablesDetail } from '../CodeMirrorInput';
|
||||
|
||||
import PromptProjectDetail from './PromptProjectDetail';
|
||||
import PromptInventorySourceDetail from './PromptInventorySourceDetail';
|
||||
@ -43,7 +43,7 @@ function buildResourceLink(resource) {
|
||||
workflow_job_template: `/templates/workflow_job_template/${resource.id}/details`,
|
||||
};
|
||||
|
||||
return link[(resource?.type)] ? (
|
||||
return link[resource?.type] ? (
|
||||
<Link to={link[resource.type]}>{resource.name}</Link>
|
||||
) : (
|
||||
resource.name
|
||||
@ -241,6 +241,10 @@ function PromptDetail({ i18n, resource, launchConfig = {}, overrides = {} }) {
|
||||
);
|
||||
}
|
||||
|
||||
PromptDetail.defaultProps = {
|
||||
launchConfig: { defaults: {} },
|
||||
};
|
||||
|
||||
PromptDetail.propTypes = {
|
||||
resource: shape({}).isRequired,
|
||||
launchConfig: shape({}),
|
||||
|
||||
@ -4,10 +4,10 @@ import { t } from '@lingui/macro';
|
||||
import { Link } from 'react-router-dom';
|
||||
|
||||
import { Chip, List, ListItem } from '@patternfly/react-core';
|
||||
import { Detail, DeletedDetail } from '../../components/DetailList';
|
||||
import { VariablesDetail } from '../../components/CodeMirrorInput';
|
||||
import CredentialChip from '../../components/CredentialChip';
|
||||
import ChipGroup from '../../components/ChipGroup';
|
||||
import { Detail, DeletedDetail } from '../DetailList';
|
||||
import { VariablesDetail } from '../CodeMirrorInput';
|
||||
import CredentialChip from '../CredentialChip';
|
||||
import ChipGroup from '../ChipGroup';
|
||||
|
||||
function PromptInventorySourceDetail({ i18n, resource }) {
|
||||
const {
|
||||
|
||||
@ -4,11 +4,11 @@ import { t } from '@lingui/macro';
|
||||
import { Link } from 'react-router-dom';
|
||||
|
||||
import { Chip, List, ListItem } from '@patternfly/react-core';
|
||||
import CredentialChip from '../../components/CredentialChip';
|
||||
import ChipGroup from '../../components/ChipGroup';
|
||||
import Sparkline from '../../components/Sparkline';
|
||||
import { Detail, DeletedDetail } from '../../components/DetailList';
|
||||
import { VariablesDetail } from '../../components/CodeMirrorInput';
|
||||
import CredentialChip from '../CredentialChip';
|
||||
import ChipGroup from '../ChipGroup';
|
||||
import Sparkline from '../Sparkline';
|
||||
import { Detail, DeletedDetail } from '../DetailList';
|
||||
import { VariablesDetail } from '../CodeMirrorInput';
|
||||
import { toTitleCase } from '../../util/strings';
|
||||
|
||||
function PromptJobTemplateDetail({ i18n, resource }) {
|
||||
|
||||
@ -4,11 +4,11 @@ import { t } from '@lingui/macro';
|
||||
import { Link } from 'react-router-dom';
|
||||
|
||||
import { Chip, List, ListItem } from '@patternfly/react-core';
|
||||
import CredentialChip from '../../components/CredentialChip';
|
||||
import ChipGroup from '../../components/ChipGroup';
|
||||
import { Detail } from '../../components/DetailList';
|
||||
import { VariablesDetail } from '../../components/CodeMirrorInput';
|
||||
import Sparkline from '../../components/Sparkline';
|
||||
import CredentialChip from '../CredentialChip';
|
||||
import ChipGroup from '../ChipGroup';
|
||||
import { Detail } from '../DetailList';
|
||||
import { VariablesDetail } from '../CodeMirrorInput';
|
||||
import Sparkline from '../Sparkline';
|
||||
import { toTitleCase } from '../../util/strings';
|
||||
|
||||
function PromptWFJobTemplateDetail({ i18n, resource }) {
|
||||
|
||||
@ -15,8 +15,8 @@ import { Link } from 'react-router-dom';
|
||||
import styled from 'styled-components';
|
||||
import DataListCell from '../DataListCell';
|
||||
|
||||
import ChipGroup from '../../components/ChipGroup';
|
||||
import { DetailList, Detail } from '../../components/DetailList';
|
||||
import ChipGroup from '../ChipGroup';
|
||||
import { DetailList, Detail } from '../DetailList';
|
||||
import { AccessRecord } from '../../types';
|
||||
|
||||
const DataListItemCells = styled(PFDataListItemCells)`
|
||||
|
||||
@ -100,11 +100,11 @@ exports[`<DeleteRoleConfirmationModal /> should render initially 1`] = `
|
||||
class="pf-c-title"
|
||||
>
|
||||
<div
|
||||
class="AlertModal__Header-sc-9waqvl-0 dYqVFx"
|
||||
class="sc-bdVaJa cjtBrl"
|
||||
>
|
||||
<svg
|
||||
aria-hidden="true"
|
||||
class="sc-bdVaJa hIExGP"
|
||||
css="color: var(--pf-global--danger-color--100)"
|
||||
fill="currentColor"
|
||||
height="2em"
|
||||
role="img"
|
||||
@ -159,16 +159,20 @@ exports[`<DeleteRoleConfirmationModal /> should render initially 1`] = `
|
||||
ariaDescribedById=""
|
||||
className=""
|
||||
header={
|
||||
<AlertModal__Header>
|
||||
<Styled(ExclamationCircleIcon)
|
||||
<ForwardRef(styled.div)>
|
||||
<ExclamationCircleIcon
|
||||
color="currentColor"
|
||||
css="color: var(--pf-global--danger-color--100)"
|
||||
noVerticalAlign={false}
|
||||
size="lg"
|
||||
title={null}
|
||||
/>
|
||||
<Title
|
||||
size="2xl"
|
||||
>
|
||||
Remove Team Access
|
||||
</Title>
|
||||
</AlertModal__Header>
|
||||
</ForwardRef(styled.div)>
|
||||
}
|
||||
hideTitle={false}
|
||||
isFooterLeftAligned={true}
|
||||
@ -219,11 +223,11 @@ exports[`<DeleteRoleConfirmationModal /> should render initially 1`] = `
|
||||
class="pf-c-title"
|
||||
>
|
||||
<div
|
||||
class="AlertModal__Header-sc-9waqvl-0 dYqVFx"
|
||||
class="sc-bdVaJa cjtBrl"
|
||||
>
|
||||
<svg
|
||||
aria-hidden="true"
|
||||
class="sc-bdVaJa hIExGP"
|
||||
css="color: var(--pf-global--danger-color--100)"
|
||||
fill="currentColor"
|
||||
height="2em"
|
||||
role="img"
|
||||
@ -296,16 +300,20 @@ exports[`<DeleteRoleConfirmationModal /> should render initially 1`] = `
|
||||
ariaDescribedById=""
|
||||
className=""
|
||||
header={
|
||||
<AlertModal__Header>
|
||||
<Styled(ExclamationCircleIcon)
|
||||
<ForwardRef(styled.div)>
|
||||
<ExclamationCircleIcon
|
||||
color="currentColor"
|
||||
css="color: var(--pf-global--danger-color--100)"
|
||||
noVerticalAlign={false}
|
||||
size="lg"
|
||||
title={null}
|
||||
/>
|
||||
<Title
|
||||
size="2xl"
|
||||
>
|
||||
Remove Team Access
|
||||
</Title>
|
||||
</AlertModal__Header>
|
||||
</ForwardRef(styled.div)>
|
||||
}
|
||||
hideTitle={false}
|
||||
id="pf-modal-0"
|
||||
@ -432,24 +440,29 @@ exports[`<DeleteRoleConfirmationModal /> should render initially 1`] = `
|
||||
<div
|
||||
className="pf-c-title"
|
||||
>
|
||||
<AlertModal__Header>
|
||||
<styled.div>
|
||||
<StyledComponent
|
||||
forwardedComponent={
|
||||
Object {
|
||||
"$$typeof": Symbol(react.forward_ref),
|
||||
"attrs": Array [],
|
||||
"componentStyle": ComponentStyle {
|
||||
"componentId": "AlertModal__Header-sc-9waqvl-0",
|
||||
"isStatic": true,
|
||||
"lastClassName": "dYqVFx",
|
||||
"componentId": "sc-bdVaJa",
|
||||
"isStatic": false,
|
||||
"lastClassName": "cjtBrl",
|
||||
"rules": Array [
|
||||
"display:flex;svg{margin-right:16px;}",
|
||||
"
|
||||
display: flex;
|
||||
svg {
|
||||
margin-right: 16px;
|
||||
}
|
||||
",
|
||||
],
|
||||
},
|
||||
"displayName": "AlertModal__Header",
|
||||
"displayName": "styled.div",
|
||||
"foldedComponentIds": Array [],
|
||||
"render": [Function],
|
||||
"styledComponentId": "AlertModal__Header-sc-9waqvl-0",
|
||||
"styledComponentId": "sc-bdVaJa",
|
||||
"target": "div",
|
||||
"toString": [Function],
|
||||
"warnTooManyClasses": [Function],
|
||||
@ -459,67 +472,36 @@ exports[`<DeleteRoleConfirmationModal /> should render initially 1`] = `
|
||||
forwardedRef={null}
|
||||
>
|
||||
<div
|
||||
className="AlertModal__Header-sc-9waqvl-0 dYqVFx"
|
||||
className="sc-bdVaJa cjtBrl"
|
||||
>
|
||||
<Styled(ExclamationCircleIcon)
|
||||
<ExclamationCircleIcon
|
||||
color="currentColor"
|
||||
css="color: var(--pf-global--danger-color--100)"
|
||||
noVerticalAlign={false}
|
||||
size="lg"
|
||||
title={null}
|
||||
>
|
||||
<StyledComponent
|
||||
forwardedComponent={
|
||||
<svg
|
||||
aria-hidden={true}
|
||||
aria-labelledby={null}
|
||||
css="color: var(--pf-global--danger-color--100)"
|
||||
fill="currentColor"
|
||||
height="2em"
|
||||
role="img"
|
||||
style={
|
||||
Object {
|
||||
"$$typeof": Symbol(react.forward_ref),
|
||||
"attrs": Array [],
|
||||
"componentStyle": ComponentStyle {
|
||||
"componentId": "sc-bdVaJa",
|
||||
"isStatic": true,
|
||||
"lastClassName": "hIExGP",
|
||||
"rules": Array [
|
||||
"color: var(--pf-global--danger-color--100)",
|
||||
],
|
||||
},
|
||||
"displayName": "Styled(ExclamationCircleIcon)",
|
||||
"foldedComponentIds": Array [],
|
||||
"render": [Function],
|
||||
"styledComponentId": "sc-bdVaJa",
|
||||
"target": [Function],
|
||||
"toString": [Function],
|
||||
"warnTooManyClasses": [Function],
|
||||
"withComponent": [Function],
|
||||
"verticalAlign": "-0.25em",
|
||||
}
|
||||
}
|
||||
forwardedRef={null}
|
||||
size="lg"
|
||||
viewBox="0 0 512 512"
|
||||
width="2em"
|
||||
>
|
||||
<ExclamationCircleIcon
|
||||
className="sc-bdVaJa hIExGP"
|
||||
color="currentColor"
|
||||
noVerticalAlign={false}
|
||||
size="lg"
|
||||
title={null}
|
||||
>
|
||||
<svg
|
||||
aria-hidden={true}
|
||||
aria-labelledby={null}
|
||||
className="sc-bdVaJa hIExGP"
|
||||
fill="currentColor"
|
||||
height="2em"
|
||||
role="img"
|
||||
style={
|
||||
Object {
|
||||
"verticalAlign": "-0.25em",
|
||||
}
|
||||
}
|
||||
viewBox="0 0 512 512"
|
||||
width="2em"
|
||||
>
|
||||
<path
|
||||
d="M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"
|
||||
transform=""
|
||||
/>
|
||||
</svg>
|
||||
</ExclamationCircleIcon>
|
||||
</StyledComponent>
|
||||
</Styled(ExclamationCircleIcon)>
|
||||
<path
|
||||
d="M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"
|
||||
transform=""
|
||||
/>
|
||||
</svg>
|
||||
</ExclamationCircleIcon>
|
||||
<Title
|
||||
size="2xl"
|
||||
>
|
||||
@ -531,7 +513,7 @@ exports[`<DeleteRoleConfirmationModal /> should render initially 1`] = `
|
||||
</Title>
|
||||
</div>
|
||||
</StyledComponent>
|
||||
</AlertModal__Header>
|
||||
</styled.div>
|
||||
</div>
|
||||
<ModalBoxBody
|
||||
id="pf-modal-0"
|
||||
|
||||
@ -49,15 +49,16 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
<div
|
||||
className="pf-c-data-list__item-row"
|
||||
>
|
||||
<ResourceAccessListItem__DataListItemCells
|
||||
<Styled(DataListItemCells)
|
||||
dataListCells={
|
||||
Array [
|
||||
<DataListCell>
|
||||
<ForwardRef(Styled(PFDataListCell))>
|
||||
<TextContent>
|
||||
<Text
|
||||
component="h6"
|
||||
>
|
||||
<Styled(Link)
|
||||
<ForwardRef
|
||||
css="font-weight: bold"
|
||||
to={
|
||||
Object {
|
||||
"pathname": "/users/2/details",
|
||||
@ -65,10 +66,10 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
}
|
||||
>
|
||||
jane
|
||||
</Styled(Link)>
|
||||
</ForwardRef>
|
||||
</Text>
|
||||
</TextContent>
|
||||
<DetailList
|
||||
<ForwardRef(Styled(DetailList))
|
||||
stacked={true}
|
||||
>
|
||||
<Detail
|
||||
@ -77,10 +78,10 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
label="Name"
|
||||
value="jane brown"
|
||||
/>
|
||||
</DetailList>
|
||||
</DataListCell>,
|
||||
<DataListCell>
|
||||
<DetailList
|
||||
</ForwardRef(Styled(DetailList))>
|
||||
</ForwardRef(Styled(PFDataListCell))>,
|
||||
<ForwardRef(Styled(PFDataListCell))>
|
||||
<ForwardRef(Styled(DetailList))
|
||||
stacked={true}
|
||||
>
|
||||
<Detail
|
||||
@ -101,8 +102,8 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
</WithI18n>
|
||||
}
|
||||
/>
|
||||
</DetailList>
|
||||
</DataListCell>,
|
||||
</ForwardRef(Styled(DetailList))>
|
||||
</ForwardRef(Styled(PFDataListCell))>,
|
||||
]
|
||||
}
|
||||
key=".0"
|
||||
@ -111,12 +112,13 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
<StyledComponent
|
||||
dataListCells={
|
||||
Array [
|
||||
<DataListCell>
|
||||
<ForwardRef(Styled(PFDataListCell))>
|
||||
<TextContent>
|
||||
<Text
|
||||
component="h6"
|
||||
>
|
||||
<Styled(Link)
|
||||
<ForwardRef
|
||||
css="font-weight: bold"
|
||||
to={
|
||||
Object {
|
||||
"pathname": "/users/2/details",
|
||||
@ -124,10 +126,10 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
}
|
||||
>
|
||||
jane
|
||||
</Styled(Link)>
|
||||
</ForwardRef>
|
||||
</Text>
|
||||
</TextContent>
|
||||
<DetailList
|
||||
<ForwardRef(Styled(DetailList))
|
||||
stacked={true}
|
||||
>
|
||||
<Detail
|
||||
@ -136,10 +138,10 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
label="Name"
|
||||
value="jane brown"
|
||||
/>
|
||||
</DetailList>
|
||||
</DataListCell>,
|
||||
<DataListCell>
|
||||
<DetailList
|
||||
</ForwardRef(Styled(DetailList))>
|
||||
</ForwardRef(Styled(PFDataListCell))>,
|
||||
<ForwardRef(Styled(PFDataListCell))>
|
||||
<ForwardRef(Styled(DetailList))
|
||||
stacked={true}
|
||||
>
|
||||
<Detail
|
||||
@ -160,8 +162,8 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
</WithI18n>
|
||||
}
|
||||
/>
|
||||
</DetailList>
|
||||
</DataListCell>,
|
||||
</ForwardRef(Styled(DetailList))>
|
||||
</ForwardRef(Styled(PFDataListCell))>,
|
||||
]
|
||||
}
|
||||
forwardedComponent={
|
||||
@ -169,17 +171,19 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
"$$typeof": Symbol(react.forward_ref),
|
||||
"attrs": Array [],
|
||||
"componentStyle": ComponentStyle {
|
||||
"componentId": "ResourceAccessListItem__DataListItemCells-a3r9sq-0",
|
||||
"isStatic": true,
|
||||
"lastClassName": "WzRoT",
|
||||
"componentId": "sc-bZQynM",
|
||||
"isStatic": false,
|
||||
"lastClassName": "dLjtme",
|
||||
"rules": Array [
|
||||
"align-items:start;",
|
||||
"
|
||||
align-items: start;
|
||||
",
|
||||
],
|
||||
},
|
||||
"displayName": "ResourceAccessListItem__DataListItemCells",
|
||||
"displayName": "Styled(DataListItemCells)",
|
||||
"foldedComponentIds": Array [],
|
||||
"render": [Function],
|
||||
"styledComponentId": "ResourceAccessListItem__DataListItemCells-a3r9sq-0",
|
||||
"styledComponentId": "sc-bZQynM",
|
||||
"target": [Function],
|
||||
"toString": [Function],
|
||||
"warnTooManyClasses": [Function],
|
||||
@ -190,15 +194,16 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
rowid="access-list-item"
|
||||
>
|
||||
<DataListItemCells
|
||||
className="ResourceAccessListItem__DataListItemCells-a3r9sq-0 WzRoT"
|
||||
className="sc-bZQynM dLjtme"
|
||||
dataListCells={
|
||||
Array [
|
||||
<DataListCell>
|
||||
<ForwardRef(Styled(PFDataListCell))>
|
||||
<TextContent>
|
||||
<Text
|
||||
component="h6"
|
||||
>
|
||||
<Styled(Link)
|
||||
<ForwardRef
|
||||
css="font-weight: bold"
|
||||
to={
|
||||
Object {
|
||||
"pathname": "/users/2/details",
|
||||
@ -206,10 +211,10 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
}
|
||||
>
|
||||
jane
|
||||
</Styled(Link)>
|
||||
</ForwardRef>
|
||||
</Text>
|
||||
</TextContent>
|
||||
<DetailList
|
||||
<ForwardRef(Styled(DetailList))
|
||||
stacked={true}
|
||||
>
|
||||
<Detail
|
||||
@ -218,10 +223,10 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
label="Name"
|
||||
value="jane brown"
|
||||
/>
|
||||
</DetailList>
|
||||
</DataListCell>,
|
||||
<DataListCell>
|
||||
<DetailList
|
||||
</ForwardRef(Styled(DetailList))>
|
||||
</ForwardRef(Styled(PFDataListCell))>,
|
||||
<ForwardRef(Styled(PFDataListCell))>
|
||||
<ForwardRef(Styled(DetailList))
|
||||
stacked={true}
|
||||
>
|
||||
<Detail
|
||||
@ -242,14 +247,14 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
</WithI18n>
|
||||
}
|
||||
/>
|
||||
</DetailList>
|
||||
</DataListCell>,
|
||||
</ForwardRef(Styled(DetailList))>
|
||||
</ForwardRef(Styled(PFDataListCell))>,
|
||||
]
|
||||
}
|
||||
rowid="access-list-item"
|
||||
>
|
||||
<div
|
||||
className="pf-c-data-list__item-content ResourceAccessListItem__DataListItemCells-a3r9sq-0 WzRoT"
|
||||
className="pf-c-data-list__item-content sc-bZQynM dLjtme"
|
||||
>
|
||||
<DataListCell
|
||||
key="name"
|
||||
@ -260,17 +265,19 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
"$$typeof": Symbol(react.forward_ref),
|
||||
"attrs": Array [],
|
||||
"componentStyle": ComponentStyle {
|
||||
"componentId": "DataListCell-sc-18ntxrx-0",
|
||||
"isStatic": true,
|
||||
"lastClassName": "flJMIO",
|
||||
"componentId": "sc-bdVaJa",
|
||||
"isStatic": false,
|
||||
"lastClassName": "kruorc",
|
||||
"rules": Array [
|
||||
"word-break:break-word;",
|
||||
"
|
||||
word-break: break-word;
|
||||
",
|
||||
],
|
||||
},
|
||||
"displayName": "DataListCell",
|
||||
"foldedComponentIds": Array [],
|
||||
"render": [Function],
|
||||
"styledComponentId": "DataListCell-sc-18ntxrx-0",
|
||||
"styledComponentId": "sc-bdVaJa",
|
||||
"target": [Function],
|
||||
"toString": [Function],
|
||||
"warnTooManyClasses": [Function],
|
||||
@ -280,10 +287,10 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
forwardedRef={null}
|
||||
>
|
||||
<PFDataListCell
|
||||
className="DataListCell-sc-18ntxrx-0 flJMIO"
|
||||
className="sc-bdVaJa kruorc"
|
||||
>
|
||||
<div
|
||||
className="pf-c-data-list__cell DataListCell-sc-18ntxrx-0 flJMIO"
|
||||
className="pf-c-data-list__cell sc-bdVaJa kruorc"
|
||||
>
|
||||
<TextContent>
|
||||
<div
|
||||
@ -296,90 +303,33 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
className=""
|
||||
data-pf-content={true}
|
||||
>
|
||||
<Styled(Link)
|
||||
<Link
|
||||
css="font-weight: bold"
|
||||
to={
|
||||
Object {
|
||||
"pathname": "/users/2/details",
|
||||
}
|
||||
}
|
||||
>
|
||||
<StyledComponent
|
||||
forwardedComponent={
|
||||
Object {
|
||||
"$$typeof": Symbol(react.forward_ref),
|
||||
"attrs": Array [],
|
||||
"componentStyle": ComponentStyle {
|
||||
"componentId": "sc-bdVaJa",
|
||||
"isStatic": true,
|
||||
"lastClassName": "fqQVUT",
|
||||
"rules": Array [
|
||||
"font-weight: bold",
|
||||
],
|
||||
},
|
||||
"displayName": "Styled(Link)",
|
||||
"foldedComponentIds": Array [],
|
||||
"propTypes": Object {
|
||||
"innerRef": [Function],
|
||||
"onClick": [Function],
|
||||
"replace": [Function],
|
||||
"target": [Function],
|
||||
"to": [Function],
|
||||
},
|
||||
"render": [Function],
|
||||
"styledComponentId": "sc-bdVaJa",
|
||||
"target": Object {
|
||||
"$$typeof": Symbol(react.forward_ref),
|
||||
"displayName": "Link",
|
||||
"propTypes": Object {
|
||||
"innerRef": [Function],
|
||||
"onClick": [Function],
|
||||
"replace": [Function],
|
||||
"target": [Function],
|
||||
"to": [Function],
|
||||
},
|
||||
"render": [Function],
|
||||
},
|
||||
"toString": [Function],
|
||||
"warnTooManyClasses": [Function],
|
||||
"withComponent": [Function],
|
||||
}
|
||||
}
|
||||
forwardedRef={null}
|
||||
to={
|
||||
Object {
|
||||
"pathname": "/users/2/details",
|
||||
}
|
||||
}
|
||||
<LinkAnchor
|
||||
css="font-weight: bold"
|
||||
href="/users/2/details"
|
||||
navigate={[Function]}
|
||||
>
|
||||
<Link
|
||||
className="sc-bdVaJa fqQVUT"
|
||||
to={
|
||||
Object {
|
||||
"pathname": "/users/2/details",
|
||||
}
|
||||
}
|
||||
<a
|
||||
css="font-weight: bold"
|
||||
href="/users/2/details"
|
||||
onClick={[Function]}
|
||||
>
|
||||
<LinkAnchor
|
||||
className="sc-bdVaJa fqQVUT"
|
||||
href="/users/2/details"
|
||||
navigate={[Function]}
|
||||
>
|
||||
<a
|
||||
className="sc-bdVaJa fqQVUT"
|
||||
href="/users/2/details"
|
||||
onClick={[Function]}
|
||||
>
|
||||
jane
|
||||
</a>
|
||||
</LinkAnchor>
|
||||
</Link>
|
||||
</StyledComponent>
|
||||
</Styled(Link)>
|
||||
jane
|
||||
</a>
|
||||
</LinkAnchor>
|
||||
</Link>
|
||||
</h6>
|
||||
</Text>
|
||||
</div>
|
||||
</TextContent>
|
||||
<DetailList
|
||||
<Styled(DetailList)
|
||||
stacked={true}
|
||||
>
|
||||
<StyledComponent
|
||||
@ -388,18 +338,24 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
"$$typeof": Symbol(react.forward_ref),
|
||||
"attrs": Array [],
|
||||
"componentStyle": ComponentStyle {
|
||||
"componentId": "DetailList-sc-12g7m4-0",
|
||||
"componentId": "sc-bwzfXH",
|
||||
"isStatic": false,
|
||||
"lastClassName": "iAtits",
|
||||
"lastClassName": "kVCDmm",
|
||||
"rules": Array [
|
||||
"display:grid;grid-gap:20px;align-items:center;",
|
||||
"
|
||||
display: grid;
|
||||
grid-gap: 20px;
|
||||
align-items: center;
|
||||
",
|
||||
[Function],
|
||||
"
|
||||
",
|
||||
],
|
||||
},
|
||||
"displayName": "DetailList",
|
||||
"displayName": "Styled(DetailList)",
|
||||
"foldedComponentIds": Array [],
|
||||
"render": [Function],
|
||||
"styledComponentId": "DetailList-sc-12g7m4-0",
|
||||
"styledComponentId": "sc-bwzfXH",
|
||||
"target": [Function],
|
||||
"toString": [Function],
|
||||
"warnTooManyClasses": [Function],
|
||||
@ -410,15 +366,15 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
stacked={true}
|
||||
>
|
||||
<DetailList
|
||||
className="DetailList-sc-12g7m4-0 iAtits"
|
||||
className="sc-bwzfXH kVCDmm"
|
||||
stacked={true}
|
||||
>
|
||||
<TextList
|
||||
className="DetailList-sc-12g7m4-0 iAtits"
|
||||
className="sc-bwzfXH kVCDmm"
|
||||
component="dl"
|
||||
>
|
||||
<dl
|
||||
className="DetailList-sc-12g7m4-0 iAtits"
|
||||
className="sc-bwzfXH kVCDmm"
|
||||
data-pf-content={true}
|
||||
>
|
||||
<Detail
|
||||
@ -427,7 +383,7 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
label="Name"
|
||||
value="jane brown"
|
||||
>
|
||||
<Detail__DetailName
|
||||
<Styled(Component)
|
||||
component="dt"
|
||||
data-cy={null}
|
||||
fullWidth={false}
|
||||
@ -440,18 +396,22 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
"$$typeof": Symbol(react.forward_ref),
|
||||
"attrs": Array [],
|
||||
"componentStyle": ComponentStyle {
|
||||
"componentId": "Detail__DetailName-sc-16ypsyv-0",
|
||||
"componentId": "sc-htpNat",
|
||||
"isStatic": false,
|
||||
"lastClassName": "erdIBg",
|
||||
"lastClassName": "iYJcPm",
|
||||
"rules": Array [
|
||||
"font-weight:var(--pf-global--FontWeight--bold);",
|
||||
"
|
||||
font-weight: var(--pf-global--FontWeight--bold);
|
||||
",
|
||||
[Function],
|
||||
"
|
||||
",
|
||||
],
|
||||
},
|
||||
"displayName": "Detail__DetailName",
|
||||
"displayName": "Styled(Component)",
|
||||
"foldedComponentIds": Array [],
|
||||
"render": [Function],
|
||||
"styledComponentId": "Detail__DetailName-sc-16ypsyv-0",
|
||||
"styledComponentId": "sc-htpNat",
|
||||
"target": [Function],
|
||||
"toString": [Function],
|
||||
"warnTooManyClasses": [Function],
|
||||
@ -462,18 +422,18 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
fullWidth={false}
|
||||
>
|
||||
<Component
|
||||
className="Detail__DetailName-sc-16ypsyv-0 erdIBg"
|
||||
className="sc-htpNat iYJcPm"
|
||||
component="dt"
|
||||
data-cy={null}
|
||||
fullWidth={false}
|
||||
>
|
||||
<TextListItem
|
||||
className="Detail__DetailName-sc-16ypsyv-0 erdIBg"
|
||||
className="sc-htpNat iYJcPm"
|
||||
component="dt"
|
||||
data-cy={null}
|
||||
>
|
||||
<dt
|
||||
className="Detail__DetailName-sc-16ypsyv-0 erdIBg"
|
||||
className="sc-htpNat iYJcPm"
|
||||
data-cy={null}
|
||||
data-pf-content={true}
|
||||
>
|
||||
@ -482,8 +442,8 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
</TextListItem>
|
||||
</Component>
|
||||
</StyledComponent>
|
||||
</Detail__DetailName>
|
||||
<Detail__DetailValue
|
||||
</Styled(Component)>
|
||||
<Styled(Component)
|
||||
component="dd"
|
||||
data-cy={null}
|
||||
fullWidth={false}
|
||||
@ -496,20 +456,25 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
"$$typeof": Symbol(react.forward_ref),
|
||||
"attrs": Array [],
|
||||
"componentStyle": ComponentStyle {
|
||||
"componentId": "Detail__DetailValue-sc-16ypsyv-1",
|
||||
"componentId": "sc-bxivhb",
|
||||
"isStatic": false,
|
||||
"lastClassName": "kCDjmZ",
|
||||
"lastClassName": "gxmPlV",
|
||||
"rules": Array [
|
||||
"word-break:break-all;",
|
||||
"
|
||||
word-break: break-all;
|
||||
",
|
||||
[Function],
|
||||
" ",
|
||||
"
|
||||
",
|
||||
[Function],
|
||||
"
|
||||
",
|
||||
],
|
||||
},
|
||||
"displayName": "Detail__DetailValue",
|
||||
"displayName": "Styled(Component)",
|
||||
"foldedComponentIds": Array [],
|
||||
"render": [Function],
|
||||
"styledComponentId": "Detail__DetailValue-sc-16ypsyv-1",
|
||||
"styledComponentId": "sc-bxivhb",
|
||||
"target": [Function],
|
||||
"toString": [Function],
|
||||
"warnTooManyClasses": [Function],
|
||||
@ -520,18 +485,18 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
fullWidth={false}
|
||||
>
|
||||
<Component
|
||||
className="Detail__DetailValue-sc-16ypsyv-1 kCDjmZ"
|
||||
className="sc-bxivhb gxmPlV"
|
||||
component="dd"
|
||||
data-cy={null}
|
||||
fullWidth={false}
|
||||
>
|
||||
<TextListItem
|
||||
className="Detail__DetailValue-sc-16ypsyv-1 kCDjmZ"
|
||||
className="sc-bxivhb gxmPlV"
|
||||
component="dd"
|
||||
data-cy={null}
|
||||
>
|
||||
<dd
|
||||
className="Detail__DetailValue-sc-16ypsyv-1 kCDjmZ"
|
||||
className="sc-bxivhb gxmPlV"
|
||||
data-cy={null}
|
||||
data-pf-content={true}
|
||||
>
|
||||
@ -540,13 +505,13 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
</TextListItem>
|
||||
</Component>
|
||||
</StyledComponent>
|
||||
</Detail__DetailValue>
|
||||
</Styled(Component)>
|
||||
</Detail>
|
||||
</dl>
|
||||
</TextList>
|
||||
</DetailList>
|
||||
</StyledComponent>
|
||||
</DetailList>
|
||||
</Styled(DetailList)>
|
||||
</div>
|
||||
</PFDataListCell>
|
||||
</StyledComponent>
|
||||
@ -560,17 +525,19 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
"$$typeof": Symbol(react.forward_ref),
|
||||
"attrs": Array [],
|
||||
"componentStyle": ComponentStyle {
|
||||
"componentId": "DataListCell-sc-18ntxrx-0",
|
||||
"isStatic": true,
|
||||
"lastClassName": "flJMIO",
|
||||
"componentId": "sc-bdVaJa",
|
||||
"isStatic": false,
|
||||
"lastClassName": "kruorc",
|
||||
"rules": Array [
|
||||
"word-break:break-word;",
|
||||
"
|
||||
word-break: break-word;
|
||||
",
|
||||
],
|
||||
},
|
||||
"displayName": "DataListCell",
|
||||
"foldedComponentIds": Array [],
|
||||
"render": [Function],
|
||||
"styledComponentId": "DataListCell-sc-18ntxrx-0",
|
||||
"styledComponentId": "sc-bdVaJa",
|
||||
"target": [Function],
|
||||
"toString": [Function],
|
||||
"warnTooManyClasses": [Function],
|
||||
@ -580,12 +547,12 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
forwardedRef={null}
|
||||
>
|
||||
<PFDataListCell
|
||||
className="DataListCell-sc-18ntxrx-0 flJMIO"
|
||||
className="sc-bdVaJa kruorc"
|
||||
>
|
||||
<div
|
||||
className="pf-c-data-list__cell DataListCell-sc-18ntxrx-0 flJMIO"
|
||||
className="pf-c-data-list__cell sc-bdVaJa kruorc"
|
||||
>
|
||||
<DetailList
|
||||
<Styled(DetailList)
|
||||
stacked={true}
|
||||
>
|
||||
<StyledComponent
|
||||
@ -594,18 +561,24 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
"$$typeof": Symbol(react.forward_ref),
|
||||
"attrs": Array [],
|
||||
"componentStyle": ComponentStyle {
|
||||
"componentId": "DetailList-sc-12g7m4-0",
|
||||
"componentId": "sc-bwzfXH",
|
||||
"isStatic": false,
|
||||
"lastClassName": "iAtits",
|
||||
"lastClassName": "kVCDmm",
|
||||
"rules": Array [
|
||||
"display:grid;grid-gap:20px;align-items:center;",
|
||||
"
|
||||
display: grid;
|
||||
grid-gap: 20px;
|
||||
align-items: center;
|
||||
",
|
||||
[Function],
|
||||
"
|
||||
",
|
||||
],
|
||||
},
|
||||
"displayName": "DetailList",
|
||||
"displayName": "Styled(DetailList)",
|
||||
"foldedComponentIds": Array [],
|
||||
"render": [Function],
|
||||
"styledComponentId": "DetailList-sc-12g7m4-0",
|
||||
"styledComponentId": "sc-bwzfXH",
|
||||
"target": [Function],
|
||||
"toString": [Function],
|
||||
"warnTooManyClasses": [Function],
|
||||
@ -616,15 +589,15 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
stacked={true}
|
||||
>
|
||||
<DetailList
|
||||
className="DetailList-sc-12g7m4-0 iAtits"
|
||||
className="sc-bwzfXH kVCDmm"
|
||||
stacked={true}
|
||||
>
|
||||
<TextList
|
||||
className="DetailList-sc-12g7m4-0 iAtits"
|
||||
className="sc-bwzfXH kVCDmm"
|
||||
component="dl"
|
||||
>
|
||||
<dl
|
||||
className="DetailList-sc-12g7m4-0 iAtits"
|
||||
className="sc-bwzfXH kVCDmm"
|
||||
data-pf-content={true}
|
||||
>
|
||||
<Detail
|
||||
@ -645,7 +618,7 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
</WithI18n>
|
||||
}
|
||||
>
|
||||
<Detail__DetailName
|
||||
<Styled(Component)
|
||||
component="dt"
|
||||
data-cy={null}
|
||||
fullWidth={false}
|
||||
@ -658,18 +631,22 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
"$$typeof": Symbol(react.forward_ref),
|
||||
"attrs": Array [],
|
||||
"componentStyle": ComponentStyle {
|
||||
"componentId": "Detail__DetailName-sc-16ypsyv-0",
|
||||
"componentId": "sc-htpNat",
|
||||
"isStatic": false,
|
||||
"lastClassName": "erdIBg",
|
||||
"lastClassName": "iYJcPm",
|
||||
"rules": Array [
|
||||
"font-weight:var(--pf-global--FontWeight--bold);",
|
||||
"
|
||||
font-weight: var(--pf-global--FontWeight--bold);
|
||||
",
|
||||
[Function],
|
||||
"
|
||||
",
|
||||
],
|
||||
},
|
||||
"displayName": "Detail__DetailName",
|
||||
"displayName": "Styled(Component)",
|
||||
"foldedComponentIds": Array [],
|
||||
"render": [Function],
|
||||
"styledComponentId": "Detail__DetailName-sc-16ypsyv-0",
|
||||
"styledComponentId": "sc-htpNat",
|
||||
"target": [Function],
|
||||
"toString": [Function],
|
||||
"warnTooManyClasses": [Function],
|
||||
@ -680,18 +657,18 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
fullWidth={false}
|
||||
>
|
||||
<Component
|
||||
className="Detail__DetailName-sc-16ypsyv-0 erdIBg"
|
||||
className="sc-htpNat iYJcPm"
|
||||
component="dt"
|
||||
data-cy={null}
|
||||
fullWidth={false}
|
||||
>
|
||||
<TextListItem
|
||||
className="Detail__DetailName-sc-16ypsyv-0 erdIBg"
|
||||
className="sc-htpNat iYJcPm"
|
||||
component="dt"
|
||||
data-cy={null}
|
||||
>
|
||||
<dt
|
||||
className="Detail__DetailName-sc-16ypsyv-0 erdIBg"
|
||||
className="sc-htpNat iYJcPm"
|
||||
data-cy={null}
|
||||
data-pf-content={true}
|
||||
>
|
||||
@ -700,8 +677,8 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
</TextListItem>
|
||||
</Component>
|
||||
</StyledComponent>
|
||||
</Detail__DetailName>
|
||||
<Detail__DetailValue
|
||||
</Styled(Component)>
|
||||
<Styled(Component)
|
||||
component="dd"
|
||||
data-cy={null}
|
||||
fullWidth={false}
|
||||
@ -714,20 +691,25 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
"$$typeof": Symbol(react.forward_ref),
|
||||
"attrs": Array [],
|
||||
"componentStyle": ComponentStyle {
|
||||
"componentId": "Detail__DetailValue-sc-16ypsyv-1",
|
||||
"componentId": "sc-bxivhb",
|
||||
"isStatic": false,
|
||||
"lastClassName": "kCDjmZ",
|
||||
"lastClassName": "gxmPlV",
|
||||
"rules": Array [
|
||||
"word-break:break-all;",
|
||||
"
|
||||
word-break: break-all;
|
||||
",
|
||||
[Function],
|
||||
" ",
|
||||
"
|
||||
",
|
||||
[Function],
|
||||
"
|
||||
",
|
||||
],
|
||||
},
|
||||
"displayName": "Detail__DetailValue",
|
||||
"displayName": "Styled(Component)",
|
||||
"foldedComponentIds": Array [],
|
||||
"render": [Function],
|
||||
"styledComponentId": "Detail__DetailValue-sc-16ypsyv-1",
|
||||
"styledComponentId": "sc-bxivhb",
|
||||
"target": [Function],
|
||||
"toString": [Function],
|
||||
"warnTooManyClasses": [Function],
|
||||
@ -738,18 +720,18 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
fullWidth={false}
|
||||
>
|
||||
<Component
|
||||
className="Detail__DetailValue-sc-16ypsyv-1 kCDjmZ"
|
||||
className="sc-bxivhb gxmPlV"
|
||||
component="dd"
|
||||
data-cy={null}
|
||||
fullWidth={false}
|
||||
>
|
||||
<TextListItem
|
||||
className="Detail__DetailValue-sc-16ypsyv-1 kCDjmZ"
|
||||
className="sc-bxivhb gxmPlV"
|
||||
component="dd"
|
||||
data-cy={null}
|
||||
>
|
||||
<dd
|
||||
className="Detail__DetailValue-sc-16ypsyv-1 kCDjmZ"
|
||||
className="sc-bxivhb gxmPlV"
|
||||
data-cy={null}
|
||||
data-pf-content={true}
|
||||
>
|
||||
@ -944,13 +926,13 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
</TextListItem>
|
||||
</Component>
|
||||
</StyledComponent>
|
||||
</Detail__DetailValue>
|
||||
</Styled(Component)>
|
||||
</Detail>
|
||||
</dl>
|
||||
</TextList>
|
||||
</DetailList>
|
||||
</StyledComponent>
|
||||
</DetailList>
|
||||
</Styled(DetailList)>
|
||||
</div>
|
||||
</PFDataListCell>
|
||||
</StyledComponent>
|
||||
@ -958,7 +940,7 @@ exports[`<ResourceAccessListItem /> initially renders succesfully 1`] = `
|
||||
</div>
|
||||
</DataListItemCells>
|
||||
</StyledComponent>
|
||||
</ResourceAccessListItem__DataListItemCells>
|
||||
</Styled(DataListItemCells)>
|
||||
</div>
|
||||
</DataListItemRow>
|
||||
</li>
|
||||
|
||||
@ -1,5 +1,3 @@
|
||||
export { default as ResourceAccessList } from './ResourceAccessList';
|
||||
export { default as ResourceAccessListItem } from './ResourceAccessListItem';
|
||||
export {
|
||||
default as DeleteRoleConfirmationModal,
|
||||
} from './DeleteRoleConfirmationModal';
|
||||
export { default as DeleteRoleConfirmationModal } from './DeleteRoleConfirmationModal';
|
||||
|
||||
@ -17,7 +17,8 @@ import RoutedTabs from '../RoutedTabs';
|
||||
import ContentError from '../ContentError';
|
||||
import ContentLoading from '../ContentLoading';
|
||||
import { TabbedCardHeader } from '../Card';
|
||||
import { ScheduleDetail, ScheduleEdit } from '.';
|
||||
import ScheduleDetail from './ScheduleDetail';
|
||||
import ScheduleEdit from './ScheduleEdit';
|
||||
import { SchedulesAPI } from '../../api';
|
||||
|
||||
function Schedule({ i18n, setBreadcrumb, unifiedJobTemplate }) {
|
||||
|
||||
@ -4,21 +4,21 @@ import { RRule, rrulestr } from 'rrule';
|
||||
import styled from 'styled-components';
|
||||
import { withI18n } from '@lingui/react';
|
||||
import { t } from '@lingui/macro';
|
||||
import { Schedule } from '../../../types';
|
||||
import { Chip, Title, Button } from '@patternfly/react-core';
|
||||
import AlertModal from '../../../components/AlertModal';
|
||||
import { CardBody, CardActionsRow } from '../../../components/Card';
|
||||
import ContentError from '../../../components/ContentError';
|
||||
import ContentLoading from '../../../components/ContentLoading';
|
||||
import CredentialChip from '../../../components/CredentialChip';
|
||||
import { DetailList, Detail, UserDateDetail } from '../../../components/DetailList';
|
||||
import { ScheduleOccurrences, ScheduleToggle } from '../../../components/Schedule';
|
||||
import { Schedule } from '../../../types';
|
||||
import AlertModal from '../../AlertModal';
|
||||
import { CardBody, CardActionsRow } from '../../Card';
|
||||
import ContentError from '../../ContentError';
|
||||
import ContentLoading from '../../ContentLoading';
|
||||
import CredentialChip from '../../CredentialChip';
|
||||
import { DetailList, Detail, UserDateDetail } from '../../DetailList';
|
||||
import { ScheduleOccurrences, ScheduleToggle } from '..';
|
||||
import { formatDateString } from '../../../util/dates';
|
||||
import useRequest from '../../../util/useRequest';
|
||||
import { SchedulesAPI } from '../../../api';
|
||||
import DeleteButton from '../../../components/DeleteButton';
|
||||
import ErrorDetail from '../../../components/ErrorDetail';
|
||||
import ChipGroup from '../../../components/ChipGroup';
|
||||
import DeleteButton from '../../DeleteButton';
|
||||
import ErrorDetail from '../../ErrorDetail';
|
||||
import ChipGroup from '../../ChipGroup';
|
||||
|
||||
const PromptTitle = styled(Title)`
|
||||
--pf-c-title--m-md--FontWeight: 700;
|
||||
|
||||
@ -44,7 +44,10 @@ function ScheduleOccurrences({ preview = { local: [], utc: [] }, i18n }) {
|
||||
</SplitItem>
|
||||
<SplitItem>
|
||||
<MultiButtonToggle
|
||||
buttons={[['local', 'Local'], ['utc', 'UTC']]}
|
||||
buttons={[
|
||||
['local', 'Local'],
|
||||
['utc', 'UTC'],
|
||||
]}
|
||||
value={mode}
|
||||
onChange={newMode => setMode(newMode)}
|
||||
/>
|
||||
|
||||
@ -1,7 +1,9 @@
|
||||
import React from 'react';
|
||||
import { withI18n } from '@lingui/react';
|
||||
import { Switch, Route, useRouteMatch } from 'react-router-dom';
|
||||
import { Schedule, ScheduleAdd, ScheduleList } from '.';
|
||||
import Schedule from './Schedule';
|
||||
import ScheduleAdd from './ScheduleAdd';
|
||||
import ScheduleList from './ScheduleList';
|
||||
|
||||
function Schedules({
|
||||
createSchedule,
|
||||
|
||||
@ -2,8 +2,8 @@ import React, { Component } from 'react';
|
||||
import PropTypes from 'prop-types';
|
||||
import { Chip, Split as PFSplit, SplitItem } from '@patternfly/react-core';
|
||||
|
||||
import ChipGroup from '../../components/ChipGroup';
|
||||
import styled from 'styled-components';
|
||||
import ChipGroup from '../ChipGroup';
|
||||
|
||||
const Split = styled(PFSplit)`
|
||||
margin: 20px 0px;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import React from 'react';
|
||||
import { mountWithContexts } from '../../../testUtils/enzymeHelpers';
|
||||
import ChipGroup from '../../components/ChipGroup';
|
||||
import ChipGroup from '../ChipGroup';
|
||||
|
||||
import SelectedList from './SelectedList';
|
||||
|
||||
|
||||
@ -77,6 +77,20 @@ const SkippedBottom = styled.div`
|
||||
background-color: #2dbaba;
|
||||
`;
|
||||
|
||||
RunningJob.displayName = 'RunningJob';
|
||||
WaitingJob.displayName = 'WaitingJob';
|
||||
FinishedJob.displayName = 'FinishedJob';
|
||||
SuccessfulTop.displayName = 'SuccessfulTop';
|
||||
SuccessfulBottom.displayName = 'SuccessfulBottom';
|
||||
FailedTop.displayName = 'FailedTop';
|
||||
FailedBottom.displayName = 'FailedBottom';
|
||||
UnreachableTop.displayName = 'UnreachableTop';
|
||||
UnreachableBottom.displayName = 'UnreachableBottom';
|
||||
ChangedTop.displayName = 'ChangedTop';
|
||||
ChangedBottom.displayName = 'ChangedBottom';
|
||||
SkippedTop.displayName = 'SkippedTop';
|
||||
SkippedBottom.displayName = 'SkippedBottom';
|
||||
|
||||
const StatusIcon = ({ status, ...props }) => {
|
||||
return (
|
||||
<div {...props}>
|
||||
|
||||
@ -6,53 +6,53 @@ describe('StatusIcon', () => {
|
||||
test('renders the successful status', () => {
|
||||
const wrapper = mount(<StatusIcon status="successful" />);
|
||||
expect(wrapper).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon__SuccessfulTop')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon__SuccessfulBottom')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon SuccessfulTop')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon SuccessfulBottom')).toHaveLength(1);
|
||||
});
|
||||
test('renders running status', () => {
|
||||
const wrapper = mount(<StatusIcon status="running" />);
|
||||
expect(wrapper).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon__RunningJob')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon RunningJob')).toHaveLength(1);
|
||||
});
|
||||
test('renders waiting status', () => {
|
||||
const wrapper = mount(<StatusIcon status="waiting" />);
|
||||
expect(wrapper).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon__WaitingJob')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon WaitingJob')).toHaveLength(1);
|
||||
});
|
||||
test('renders failed status', () => {
|
||||
const wrapper = mount(<StatusIcon status="failed" />);
|
||||
expect(wrapper).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon__FailedTop')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon__FailedBottom')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon FailedTop')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon FailedBottom')).toHaveLength(1);
|
||||
});
|
||||
test('renders a successful status when host status is "ok"', () => {
|
||||
const wrapper = mount(<StatusIcon status="ok" />);
|
||||
expect(wrapper).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon__SuccessfulTop')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon__SuccessfulBottom')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon SuccessfulTop')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon SuccessfulBottom')).toHaveLength(1);
|
||||
});
|
||||
test('renders "failed" host status', () => {
|
||||
const wrapper = mount(<StatusIcon status="failed" />);
|
||||
expect(wrapper).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon__FailedTop')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon__FailedBottom')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon FailedTop')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon FailedBottom')).toHaveLength(1);
|
||||
});
|
||||
test('renders "changed" host status', () => {
|
||||
const wrapper = mount(<StatusIcon status="changed" />);
|
||||
expect(wrapper).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon__ChangedTop')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon__ChangedBottom')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon ChangedTop')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon ChangedBottom')).toHaveLength(1);
|
||||
});
|
||||
test('renders "skipped" host status', () => {
|
||||
const wrapper = mount(<StatusIcon status="skipped" />);
|
||||
expect(wrapper).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon__SkippedTop')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon__SkippedBottom')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon SkippedTop')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon SkippedBottom')).toHaveLength(1);
|
||||
});
|
||||
test('renders "unreachable" host status', () => {
|
||||
const wrapper = mount(<StatusIcon status="unreachable" />);
|
||||
expect(wrapper).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon__UnreachableTop')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon__UnreachableBottom')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon UnreachableTop')).toHaveLength(1);
|
||||
expect(wrapper.find('StatusIcon UnreachableBottom')).toHaveLength(1);
|
||||
});
|
||||
});
|
||||
|
||||
@ -9,7 +9,8 @@ import {
|
||||
WorkflowStateContext,
|
||||
} from '../../contexts/Workflow';
|
||||
import { constants as wfConstants } from './WorkflowUtils';
|
||||
import { WorkflowActionTooltip, WorkflowActionTooltipItem } from '.';
|
||||
import WorkflowActionTooltip from './WorkflowActionTooltip';
|
||||
import WorkflowActionTooltipItem from './WorkflowActionTooltipItem';
|
||||
|
||||
const StartG = styled.g`
|
||||
pointer-events: ${props => (props.ignorePointerEvents ? 'none' : 'auto')};
|
||||
|
||||
@ -1,7 +1,5 @@
|
||||
export { default as WorkflowActionTooltip } from './WorkflowActionTooltip';
|
||||
export {
|
||||
default as WorkflowActionTooltipItem,
|
||||
} from './WorkflowActionTooltipItem';
|
||||
export { default as WorkflowActionTooltipItem } from './WorkflowActionTooltipItem';
|
||||
export { default as WorkflowHelp } from './WorkflowHelp';
|
||||
export { default as WorkflowLegend } from './WorkflowLegend';
|
||||
export { default as WorkflowLinkHelp } from './WorkflowLinkHelp';
|
||||
|
||||
@ -13,7 +13,7 @@ import PaginatedDataList, {
|
||||
} from '../../../components/PaginatedDataList';
|
||||
import useRequest, { useDeleteItems } from '../../../util/useRequest';
|
||||
import { getQSConfig, parseQueryString } from '../../../util/qs';
|
||||
import { CredentialListItem } from '.';
|
||||
import CredentialListItem from './CredentialListItem';
|
||||
|
||||
const QS_CONFIG = getQSConfig('credential', {
|
||||
page: 1,
|
||||
|
||||
@ -45,7 +45,10 @@ describe('<InventoryAdd />', () => {
|
||||
expect(wrapper.length).toBe(1);
|
||||
});
|
||||
test('handleSubmit should call the api and redirect to details page', async () => {
|
||||
const instanceGroups = [{ name: 'Bizz', id: 1 }, { name: 'Buzz', id: 2 }];
|
||||
const instanceGroups = [
|
||||
{ name: 'Bizz', id: 1 },
|
||||
{ name: 'Buzz', id: 2 },
|
||||
];
|
||||
await waitForElement(wrapper, 'isLoading', el => el.length === 0);
|
||||
|
||||
wrapper.find('InventoryForm').prop('onSubmit')({
|
||||
|
||||
@ -4,7 +4,11 @@ import { withI18n } from '@lingui/react';
|
||||
import { t } from '@lingui/macro';
|
||||
import { Button, Chip } from '@patternfly/react-core';
|
||||
import { CardBody, CardActionsRow } from '../../../components/Card';
|
||||
import { DetailList, Detail, UserDateDetail } from '../../../components/DetailList';
|
||||
import {
|
||||
DetailList,
|
||||
Detail,
|
||||
UserDateDetail,
|
||||
} from '../../../components/DetailList';
|
||||
import { VariablesDetail } from '../../../components/CodeMirrorInput';
|
||||
import DeleteButton from '../../../components/DeleteButton';
|
||||
import ContentError from '../../../components/ContentError';
|
||||
|
||||
@ -90,11 +90,11 @@ describe('<InventoryDetail />', () => {
|
||||
expectDetailToMatch(wrapper, 'Type', 'Inventory');
|
||||
const org = wrapper.find('Detail[label="Organization"]');
|
||||
expect(org.prop('value')).toMatchInlineSnapshot(`
|
||||
<Link
|
||||
<ForwardRef
|
||||
to="/organizations/1/details"
|
||||
>
|
||||
The Organization
|
||||
</Link>
|
||||
</ForwardRef>
|
||||
`);
|
||||
const vars = wrapper.find('VariablesDetail');
|
||||
expect(vars).toHaveLength(1);
|
||||
|
||||
@ -110,7 +110,10 @@ describe('<InventoryEdit />', () => {
|
||||
|
||||
test('handleSubmit should post to the api', async () => {
|
||||
await waitForElement(wrapper, 'isLoading', el => el.length === 0);
|
||||
const instanceGroups = [{ name: 'Bizz', id: 2 }, { name: 'Buzz', id: 3 }];
|
||||
const instanceGroups = [
|
||||
{ name: 'Bizz', id: 2 },
|
||||
{ name: 'Buzz', id: 3 },
|
||||
];
|
||||
wrapper.find('InventoryForm').prop('onSubmit')({
|
||||
name: 'Foo',
|
||||
id: 13,
|
||||
|
||||
@ -18,7 +18,8 @@ import { PencilAltIcon } from '@patternfly/react-icons';
|
||||
import { timeOfDay } from '../../../util/dates';
|
||||
import { InventoriesAPI } from '../../../api';
|
||||
import { Inventory } from '../../../types';
|
||||
import CopyButton from '../../../components/CopyButton/CopyButton';
|
||||
import DataListCell from '../../../components/DataListCell';
|
||||
import CopyButton from '../../../components/CopyButton';
|
||||
|
||||
const DataListAction = styled(_DataListAction)`
|
||||
align-items: center;
|
||||
|
||||
@ -9,11 +9,11 @@ import {
|
||||
useRouteMatch,
|
||||
useLocation,
|
||||
} from 'react-router-dom';
|
||||
import { CaretLeftIcon } from '@patternfly/react-icons';
|
||||
import { CardActions } from '@patternfly/react-core';
|
||||
import useRequest from '../../../util/useRequest';
|
||||
|
||||
import { InventoriesAPI } from '../../../api';
|
||||
import { CaretLeftIcon } from '@patternfly/react-icons';
|
||||
import { CardActions } from '@patternfly/react-core';
|
||||
import { TabbedCardHeader } from '../../../components/Card';
|
||||
import CardCloseButton from '../../../components/CardCloseButton';
|
||||
import ContentError from '../../../components/ContentError';
|
||||
|
||||
@ -2,7 +2,10 @@ import React from 'react';
|
||||
import { act } from 'react-dom/test-utils';
|
||||
import { createMemoryHistory } from 'history';
|
||||
import { InventoriesAPI } from '../../../api';
|
||||
import { mountWithContexts, waitForElement } from '../../../../testUtils/enzymeHelpers';
|
||||
import {
|
||||
mountWithContexts,
|
||||
waitForElement,
|
||||
} from '../../../../testUtils/enzymeHelpers';
|
||||
import mockInventorySource from '../shared/data.inventory_source.json';
|
||||
import InventorySource from './InventorySource';
|
||||
|
||||
|
||||
@ -15,7 +15,11 @@ import { CardBody, CardActionsRow } from '../../../components/Card';
|
||||
import { VariablesDetail } from '../../../components/CodeMirrorInput';
|
||||
import CredentialChip from '../../../components/CredentialChip';
|
||||
import DeleteButton from '../../../components/DeleteButton';
|
||||
import { DetailList, Detail, UserDateDetail } from '../../../components/DetailList';
|
||||
import {
|
||||
DetailList,
|
||||
Detail,
|
||||
UserDateDetail,
|
||||
} from '../../../components/DetailList';
|
||||
import ErrorDetail from '../../../components/ErrorDetail';
|
||||
import { InventorySourcesAPI } from '../../../api';
|
||||
|
||||
|
||||
@ -1,7 +1,10 @@
|
||||
import React from 'react';
|
||||
import { act } from 'react-dom/test-utils';
|
||||
import { createMemoryHistory } from 'history';
|
||||
import { mountWithContexts, waitForElement } from '../../../../testUtils/enzymeHelpers';
|
||||
import {
|
||||
mountWithContexts,
|
||||
waitForElement,
|
||||
} from '../../../../testUtils/enzymeHelpers';
|
||||
import InventorySourceDetail from './InventorySourceDetail';
|
||||
import mockInvSource from '../shared/data.inventory_source.json';
|
||||
import { InventorySourcesAPI } from '../../../api';
|
||||
|
||||
@ -43,7 +43,14 @@ describe('<InventorySourceList />', () => {
|
||||
InventorySourcesAPI.readOptions.mockResolvedValue({
|
||||
data: {
|
||||
actions: {
|
||||
GET: { source: { choices: [['scm', 'SCM'], ['ec2', 'EC2']] } },
|
||||
GET: {
|
||||
source: {
|
||||
choices: [
|
||||
['scm', 'SCM'],
|
||||
['ec2', 'EC2'],
|
||||
],
|
||||
},
|
||||
},
|
||||
POST: {},
|
||||
},
|
||||
},
|
||||
@ -247,7 +254,14 @@ describe('<InventorySourceList /> RBAC testing', () => {
|
||||
InventorySourcesAPI.readOptions.mockResolvedValue({
|
||||
data: {
|
||||
actions: {
|
||||
GET: { source: { choices: [['scm', 'SCM'], ['ec2', 'EC2']] } },
|
||||
GET: {
|
||||
source: {
|
||||
choices: [
|
||||
['scm', 'SCM'],
|
||||
['ec2', 'EC2'],
|
||||
],
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
});
|
||||
|
||||
@ -100,6 +100,10 @@ function InventorySourceSyncButton({ onSyncLoading, source, i18n }) {
|
||||
);
|
||||
}
|
||||
|
||||
InventorySourceSyncButton.defaultProps = {
|
||||
source: {},
|
||||
};
|
||||
|
||||
InventorySourceSyncButton.propTypes = {
|
||||
onSyncLoading: PropTypes.func.isRequired,
|
||||
source: PropTypes.shape({}),
|
||||
|
||||
@ -1,6 +1,9 @@
|
||||
import React from 'react';
|
||||
import { act } from 'react-dom/test-utils';
|
||||
import { mountWithContexts, waitForElement } from '../../../../testUtils/enzymeHelpers';
|
||||
import {
|
||||
mountWithContexts,
|
||||
waitForElement,
|
||||
} from '../../../../testUtils/enzymeHelpers';
|
||||
|
||||
import InventoryForm from './InventoryForm';
|
||||
|
||||
@ -47,7 +50,10 @@ const inventory = {
|
||||
pending_deletion: false,
|
||||
};
|
||||
|
||||
const instanceGroups = [{ name: 'Foo', id: 1 }, { name: 'Bar', id: 2 }];
|
||||
const instanceGroups = [
|
||||
{ name: 'Foo', id: 1 },
|
||||
{ name: 'Bar', id: 2 },
|
||||
];
|
||||
describe('<InventoryForm />', () => {
|
||||
let wrapper;
|
||||
let onCancel;
|
||||
|
||||
@ -59,14 +59,14 @@ describe('<JobDetail />', () => {
|
||||
|
||||
test('should display successful job status icon', () => {
|
||||
const statusDetail = wrapper.find('Detail[label="Status"]');
|
||||
expect(statusDetail.find('StatusIcon__SuccessfulTop')).toHaveLength(1);
|
||||
expect(statusDetail.find('StatusIcon__SuccessfulBottom')).toHaveLength(1);
|
||||
expect(statusDetail.find('StatusIcon SuccessfulTop')).toHaveLength(1);
|
||||
expect(statusDetail.find('StatusIcon SuccessfulBottom')).toHaveLength(1);
|
||||
});
|
||||
|
||||
test('should display successful project status icon', () => {
|
||||
const statusDetail = wrapper.find('Detail[label="Project"]');
|
||||
expect(statusDetail.find('StatusIcon__SuccessfulTop')).toHaveLength(1);
|
||||
expect(statusDetail.find('StatusIcon__SuccessfulBottom')).toHaveLength(1);
|
||||
expect(statusDetail.find('StatusIcon SuccessfulTop')).toHaveLength(1);
|
||||
expect(statusDetail.find('StatusIcon SuccessfulBottom')).toHaveLength(1);
|
||||
});
|
||||
|
||||
test('should properly delete job', async () => {
|
||||
|
||||
@ -4,13 +4,13 @@ import PropTypes from 'prop-types';
|
||||
import { withI18n } from '@lingui/react';
|
||||
import { t } from '@lingui/macro';
|
||||
import styled from 'styled-components';
|
||||
import Entities from 'html-entities';
|
||||
import { AllHtmlEntities } from 'html-entities';
|
||||
import StatusIcon from '../../../components/StatusIcon';
|
||||
import { DetailList, Detail } from '../../../components/DetailList';
|
||||
import ContentEmpty from '../../../components/ContentEmpty';
|
||||
import CodeMirrorInput from '../../../components/CodeMirrorInput';
|
||||
|
||||
const entities = new Entities.AllHtmlEntities();
|
||||
const entities = new AllHtmlEntities();
|
||||
|
||||
const Modal = styled(PFModal)`
|
||||
--pf-c-modal-box__footer--MarginTop: 0;
|
||||
|
||||
@ -130,8 +130,8 @@ describe('HostEventModal', () => {
|
||||
);
|
||||
const icon = wrapper.find('StatusIcon');
|
||||
expect(icon.prop('status')).toBe('ok');
|
||||
expect(icon.find('StatusIcon__SuccessfulTop').length).toBe(1);
|
||||
expect(icon.find('StatusIcon__SuccessfulBottom').length).toBe(1);
|
||||
expect(icon.find('StatusIcon SuccessfulTop').length).toBe(1);
|
||||
expect(icon.find('StatusIcon SuccessfulBottom').length).toBe(1);
|
||||
});
|
||||
|
||||
test('should display skipped host status icon', () => {
|
||||
@ -142,8 +142,8 @@ describe('HostEventModal', () => {
|
||||
|
||||
const icon = wrapper.find('StatusIcon');
|
||||
expect(icon.prop('status')).toBe('skipped');
|
||||
expect(icon.find('StatusIcon__SkippedTop').length).toBe(1);
|
||||
expect(icon.find('StatusIcon__SkippedBottom').length).toBe(1);
|
||||
expect(icon.find('StatusIcon SkippedTop').length).toBe(1);
|
||||
expect(icon.find('StatusIcon SkippedBottom').length).toBe(1);
|
||||
});
|
||||
|
||||
test('should display unreachable host status icon', () => {
|
||||
@ -162,8 +162,8 @@ describe('HostEventModal', () => {
|
||||
|
||||
const icon = wrapper.find('StatusIcon');
|
||||
expect(icon.prop('status')).toBe('unreachable');
|
||||
expect(icon.find('StatusIcon__UnreachableTop').length).toBe(1);
|
||||
expect(icon.find('StatusIcon__UnreachableBottom').length).toBe(1);
|
||||
expect(icon.find('StatusIcon UnreachableTop').length).toBe(1);
|
||||
expect(icon.find('StatusIcon UnreachableBottom').length).toBe(1);
|
||||
});
|
||||
|
||||
test('should display failed host status icon', () => {
|
||||
@ -183,8 +183,8 @@ describe('HostEventModal', () => {
|
||||
|
||||
const icon = wrapper.find('StatusIcon');
|
||||
expect(icon.prop('status')).toBe('failed');
|
||||
expect(icon.find('StatusIcon__FailedTop').length).toBe(1);
|
||||
expect(icon.find('StatusIcon__FailedBottom').length).toBe(1);
|
||||
expect(icon.find('StatusIcon FailedTop').length).toBe(1);
|
||||
expect(icon.find('StatusIcon FailedBottom').length).toBe(1);
|
||||
});
|
||||
|
||||
test('should display JSON tab content on tab click', () => {
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import Ansi from 'ansi-to-html';
|
||||
import hasAnsi from 'has-ansi';
|
||||
import Entities from 'html-entities';
|
||||
import { AllHtmlEntities } from 'html-entities';
|
||||
import React from 'react';
|
||||
import {
|
||||
JobEventLine,
|
||||
@ -35,7 +35,7 @@ const ansi = new Ansi({
|
||||
15: '#FFF',
|
||||
},
|
||||
});
|
||||
const entities = new Entities.AllHtmlEntities();
|
||||
const entities = new AllHtmlEntities();
|
||||
|
||||
function getTimestamp({ created }) {
|
||||
const date = new Date(created);
|
||||
|
||||
@ -12,7 +12,7 @@ jest.mock('../../../api');
|
||||
|
||||
async function checkOutput(wrapper, expectedLines) {
|
||||
await waitForElement(wrapper, 'div[type="job_event"]', el => el.length > 1);
|
||||
const jobEventLines = wrapper.find('div[type="job_event_line_text"]');
|
||||
const jobEventLines = wrapper.find('JobEventLineText div');
|
||||
const actualLines = [];
|
||||
jobEventLines.forEach(line => {
|
||||
actualLines.push(line.text());
|
||||
@ -67,58 +67,184 @@ describe('<JobOutput />', () => {
|
||||
wrapper = mountWithContexts(<JobOutput job={mockJob} />);
|
||||
await waitForElement(wrapper, 'JobEvent', el => el.length > 0);
|
||||
await checkOutput(wrapper, [
|
||||
'ok: [localhost] => (item=37) => {',
|
||||
' "msg": "This is a debug message: 37"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=38) => {',
|
||||
' "msg": "This is a debug message: 38"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=39) => {',
|
||||
' "msg": "This is a debug message: 39"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=40) => {',
|
||||
' "msg": "This is a debug message: 40"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=41) => {',
|
||||
' "msg": "This is a debug message: 41"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=42) => {',
|
||||
' "msg": "This is a debug message: 42"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=43) => {',
|
||||
' "msg": "This is a debug message: 43"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=44) => {',
|
||||
' "msg": "This is a debug message: 44"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=45) => {',
|
||||
' "msg": "This is a debug message: 45"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=46) => {',
|
||||
' "msg": "This is a debug message: 46"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=47) => {',
|
||||
' "msg": "This is a debug message: 47"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=48) => {',
|
||||
' "msg": "This is a debug message: 48"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=49) => {',
|
||||
' "msg": "This is a debug message: 49"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=50) => {',
|
||||
' "msg": "This is a debug message: 50"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=51) => {',
|
||||
' "msg": "This is a debug message: 51"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=52) => {',
|
||||
' "msg": "This is a debug message: 52"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=53) => {',
|
||||
' "msg": "This is a debug message: 53"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=54) => {',
|
||||
' "msg": "This is a debug message: 54"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=55) => {',
|
||||
' "msg": "This is a debug message: 55"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=56) => {',
|
||||
' "msg": "This is a debug message: 56"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=57) => {',
|
||||
' "msg": "This is a debug message: 57"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=58) => {',
|
||||
' "msg": "This is a debug message: 58"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=59) => {',
|
||||
' "msg": "This is a debug message: 59"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=60) => {',
|
||||
' "msg": "This is a debug message: 60"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=61) => {',
|
||||
' "msg": "This is a debug message: 61"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=62) => {',
|
||||
' "msg": "This is a debug message: 62"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=63) => {',
|
||||
' "msg": "This is a debug message: 63"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=64) => {',
|
||||
' "msg": "This is a debug message: 64"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=65) => {',
|
||||
' "msg": "This is a debug message: 65"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=66) => {',
|
||||
' "msg": "This is a debug message: 66"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=67) => {',
|
||||
' "msg": "This is a debug message: 67"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=68) => {',
|
||||
' "msg": "This is a debug message: 68"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=69) => {',
|
||||
' "msg": "This is a debug message: 69"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=70) => {',
|
||||
' "msg": "This is a debug message: 70"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=71) => {',
|
||||
' "msg": "This is a debug message: 71"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=72) => {',
|
||||
' "msg": "This is a debug message: 72"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=73) => {',
|
||||
' "msg": "This is a debug message: 73"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=74) => {',
|
||||
' "msg": "This is a debug message: 74"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=75) => {',
|
||||
' "msg": "This is a debug message: 75"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=76) => {',
|
||||
' "msg": "This is a debug message: 76"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=77) => {',
|
||||
' "msg": "This is a debug message: 77"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=78) => {',
|
||||
' "msg": "This is a debug message: 78"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=79) => {',
|
||||
' "msg": "This is a debug message: 79"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=80) => {',
|
||||
' "msg": "This is a debug message: 80"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=81) => {',
|
||||
' "msg": "This is a debug message: 81"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=82) => {',
|
||||
' "msg": "This is a debug message: 82"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=83) => {',
|
||||
' "msg": "This is a debug message: 83"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=84) => {',
|
||||
' "msg": "This is a debug message: 84"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=85) => {',
|
||||
' "msg": "This is a debug message: 85"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=86) => {',
|
||||
' "msg": "This is a debug message: 86"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=87) => {',
|
||||
' "msg": "This is a debug message: 87"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=88) => {',
|
||||
' "msg": "This is a debug message: 88"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=89) => {',
|
||||
' "msg": "This is a debug message: 89"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=90) => {',
|
||||
' "msg": "This is a debug message: 90"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=91) => {',
|
||||
' "msg": "This is a debug message: 91"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=92) => {',
|
||||
' "msg": "This is a debug message: 92"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=93) => {',
|
||||
' "msg": "This is a debug message: 93"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=94) => {',
|
||||
' "msg": "This is a debug message: 94"',
|
||||
'}',
|
||||
'',
|
||||
'PLAY [all] *********************************************************************15:37:25',
|
||||
'PLAY RECAP *********************************************************************15:37:26',
|
||||
'localhost : ok=1 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0 ',
|
||||
'',
|
||||
'TASK [debug] *******************************************************************15:37:25',
|
||||
'ok: [localhost] => (item=1) => {',
|
||||
' "msg": "This is a debug message: 1"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=2) => {',
|
||||
' "msg": "This is a debug message: 2"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=3) => {',
|
||||
' "msg": "This is a debug message: 3"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=4) => {',
|
||||
' "msg": "This is a debug message: 4"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=5) => {',
|
||||
' "msg": "This is a debug message: 5"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=6) => {',
|
||||
' "msg": "This is a debug message: 6"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=7) => {',
|
||||
' "msg": "This is a debug message: 7"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=8) => {',
|
||||
' "msg": "This is a debug message: 8"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=9) => {',
|
||||
' "msg": "This is a debug message: 9"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=10) => {',
|
||||
' "msg": "This is a debug message: 10"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=11) => {',
|
||||
' "msg": "This is a debug message: 11"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=12) => {',
|
||||
' "msg": "This is a debug message: 12"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=13) => {',
|
||||
' "msg": "This is a debug message: 13"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=14) => {',
|
||||
' "msg": "This is a debug message: 14"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=15) => {',
|
||||
' "msg": "This is a debug message: 15"',
|
||||
'}',
|
||||
'ok: [localhost] => (item=16) => {',
|
||||
' "msg": "This is a debug message: 16"',
|
||||
'}',
|
||||
]);
|
||||
|
||||
expect(wrapper.find('JobOutput').length).toBe(1);
|
||||
|
||||
@ -16,6 +16,7 @@ const BarSegment = styled.div`
|
||||
background-color: ${props => props.color || 'inherit'};
|
||||
flex-grow: ${props => props.count || 0};
|
||||
`;
|
||||
BarSegment.displayName = 'BarSegment';
|
||||
|
||||
const TooltipContent = styled.div`
|
||||
align-items: center;
|
||||
|
||||
@ -22,7 +22,7 @@ describe('<HostStatusBar />', () => {
|
||||
});
|
||||
|
||||
test('should render five bar segments', () => {
|
||||
expect(wrapper.find('HostStatusBar__BarSegment').length).toBe(5);
|
||||
expect(wrapper.find('BarSegment').length).toBe(5);
|
||||
});
|
||||
|
||||
test('tooltips should display host status and count', () => {
|
||||
@ -44,7 +44,7 @@ describe('<HostStatusBar />', () => {
|
||||
|
||||
test('empty host counts should display tooltip and one bar segment', () => {
|
||||
wrapper = mountWithContexts(<HostStatusBar />);
|
||||
expect(wrapper.find('HostStatusBar__BarSegment').length).toBe(1);
|
||||
expect(wrapper.find('BarSegment').length).toBe(1);
|
||||
expect(wrapper.find('TooltipContent').text()).toEqual(
|
||||
'Host status information for this job is unavailable.'
|
||||
);
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import styled from 'styled-components';
|
||||
|
||||
export default styled.div`
|
||||
const JobEventLineNumber = styled.div`
|
||||
color: #161b1f;
|
||||
background-color: #ebebeb;
|
||||
flex: 0 0 45px;
|
||||
@ -10,3 +10,7 @@ export default styled.div`
|
||||
border-right: 1px solid #d7d7d7;
|
||||
user-select: none;
|
||||
`;
|
||||
|
||||
JobEventLineNumber.displayName = 'JobEventLineNumber';
|
||||
|
||||
export default JobEventLineNumber;
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
import styled from 'styled-components';
|
||||
|
||||
export default styled.div`
|
||||
const JobEventLineText = styled.div`
|
||||
padding: 0 15px;
|
||||
white-space: pre-wrap;
|
||||
word-break: break-all;
|
||||
@ -27,3 +27,7 @@ export default styled.div`
|
||||
border-radius: 5px;
|
||||
}
|
||||
`;
|
||||
|
||||
JobEventLineText.displayName = 'JobEventLineText';
|
||||
|
||||
export default JobEventLineText;
|
||||
|
||||
@ -5,7 +5,8 @@ import {
|
||||
getScaleAndOffsetToFit,
|
||||
getTranslatePointsForZoom,
|
||||
} from '../../../components/Workflow/WorkflowUtils';
|
||||
import { WorkflowOutputLink, WorkflowOutputNode } from '.';
|
||||
import WorkflowOutputLink from './WorkflowOutputLink';
|
||||
import WorkflowOutputNode from './WorkflowOutputNode';
|
||||
import {
|
||||
WorkflowHelp,
|
||||
WorkflowLegend,
|
||||
|
||||
@ -59,6 +59,8 @@ const NodeDefaultLabel = styled.p`
|
||||
white-space: nowrap;
|
||||
`;
|
||||
|
||||
Elapsed.displayName = 'Elapsed';
|
||||
|
||||
function WorkflowOutputNode({ i18n, mouseEnter, mouseLeave, node }) {
|
||||
const history = useHistory();
|
||||
const { nodePositions } = useContext(WorkflowStateContext);
|
||||
|
||||
@ -73,7 +73,7 @@ describe('WorkflowOutputNode', () => {
|
||||
</svg>
|
||||
);
|
||||
expect(wrapper.contains(<p>Automation JT</p>)).toEqual(true);
|
||||
expect(wrapper.find('WorkflowOutputNode__Elapsed').text()).toBe('00:00:07');
|
||||
expect(wrapper.find('WorkflowOutputNode Elapsed').text()).toBe('00:00:07');
|
||||
});
|
||||
test('node contents displayed correctly when Job Template deleted', () => {
|
||||
const wrapper = mountWithContexts(
|
||||
@ -88,7 +88,7 @@ describe('WorkflowOutputNode', () => {
|
||||
</svg>
|
||||
);
|
||||
expect(wrapper.contains(<p>Automation JT 2</p>)).toEqual(true);
|
||||
expect(wrapper.find('WorkflowOutputNode__Elapsed').text()).toBe('00:00:07');
|
||||
expect(wrapper.find('WorkflowOutputNode Elapsed').text()).toBe('00:00:07');
|
||||
});
|
||||
test('node contents displayed correctly when Job deleted', () => {
|
||||
const wrapper = mountWithContexts(
|
||||
|
||||
@ -7,7 +7,7 @@ import { LoginForm, LoginPage as PFLoginPage } from '@patternfly/react-core';
|
||||
import { RootAPI } from '../../api';
|
||||
import { BrandName } from '../../variables';
|
||||
|
||||
import brandLogo from '../../../images/brand-logo.svg';
|
||||
import brandLogo from './brand-logo.svg';
|
||||
|
||||
const LoginPage = styled(PFLoginPage)`
|
||||
& .pf-c-brand {
|
||||
|
||||
232
awx/ui_next/src/screens/Login/brand-logo.svg
Normal file
232
awx/ui_next/src/screens/Login/brand-logo.svg
Normal file
@ -0,0 +1,232 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
||||
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
||||
viewBox="0 0 500 500" style="enable-background:new 0 0 500 500;" xml:space="preserve">
|
||||
<style type="text/css">
|
||||
.st0{display:none;}
|
||||
.st1{display:inline;fill:#ED1C24;}
|
||||
.st2{fill:#42210B;}
|
||||
.st3{fill:#FFFFFF;}
|
||||
.st4{fill:#C69C6D;stroke:#8C6239;stroke-width:5;stroke-miterlimit:10;}
|
||||
.st5{fill:#FFFFFF;stroke:#42210B;stroke-width:3;stroke-miterlimit:10;}
|
||||
.st6{fill:#ED1C24;stroke:#8C6239;stroke-width:5;stroke-miterlimit:10;}
|
||||
.st7{fill:#A67C52;}
|
||||
.st8{fill:#ED1C24;}
|
||||
</style>
|
||||
<g class="st0">
|
||||
<path class="st1" d="M319.8,169.3c1.5-14.2,13.7-27.2,29.9-31.9c-13.1,1.5-27.3-1.7-36-10c-8.7-8.3-10-21.9-1.4-30.1
|
||||
c-12,6.7-28.1,8.1-41.4,3.4c-13.3-4.6-23.5-15.1-26.2-26.9c-2-8.8,0-17.9,2-26.7c-6.2,9.4-17.6,17.3-30.5,17.3
|
||||
c-12.9,0.1-25.7-10.2-22.9-20.7c-5.5,7.8-11.4,15.9-21,20.2c-9.5,4.3-23.7,2.7-28.2-5.5c-1.6,10.8-7.5,22-19.1,27
|
||||
c-9,3.9-21.5,2.2-28-3.8c5.7,11.4,4.3,25.3-4.1,35.6c-9.9,12.2-29.1,18.6-46.4,15.6c14.7,7.2,28.5,17.7,32.1,31.5
|
||||
c3.7,13.8-7.1,30.7-24.1,31.7c13.6,3.1,28,7.4,35.6,17.2c7.6,9.8,2.9,26.4-11.1,28c12.8-2.6,27.4,3.9,31.9,14.2
|
||||
c4.1,9.5-0.9,20.9-10.9,26.5c18.6-8.9,41-17.1,59.6-8.8c13.9,6.2,20.8,21.6,15.1,33.8c10.4-10.6,23-21.3,39.2-23.5
|
||||
c12.8-1.8,27.5,4.6,31.9,14.1c-0.3-12.7,6.1-25.5,17.5-34c13.8-10.3,34.4-14,52-9.2c-11.1-7.8-14.9-22-8.9-33
|
||||
c6-11,21.3-18,35.7-16.2C327.5,198.1,318.3,183.5,319.8,169.3z"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st2" d="M179.7,297.3c-10.1,3.2-20.3,6-30.6,8.4c-10.7,2.5-21.7,5-32.8,5.1C96,311.1,79.9,297.2,60,296.1
|
||||
c-5.8-0.3-5.8,8.7,0,9c9.9,0.5,18.9,5.1,27.9,8.8c9.8,4,19.6,6.3,30.2,5.9c21.5-0.8,43.5-7.4,64-13.8
|
||||
C187.6,304.3,185.2,295.6,179.7,297.3L179.7,297.3z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st2" d="M322.2,194.8c17.9-8,36-18.5,44.3-37.2c4.2-9.3,6-19.2,7.2-29.3c1.5-11.7,2.5-23.4,3.7-35.2
|
||||
c0.6-5.8-8.4-5.7-9,0c-1.1,10.3-2.1,20.6-3.3,30.9c-1.1,9.7-2.5,19.7-6.4,28.7c-7.5,17.5-24.6,26.8-41.2,34.2
|
||||
C312.4,189.4,316.9,197.2,322.2,194.8L322.2,194.8z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
|
||||
<ellipse transform="matrix(0.5541 -0.8324 0.8324 0.5541 -219.4917 376.0051)" class="st2" cx="241.2" cy="392.9" rx="65.5" ry="33.7"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st3" d="M224.1,442.5c22-11.5,38.7-31,47.1-54.3c2-5.5-6.7-7.8-8.7-2.4c-7.6,21.1-23.1,38.5-43,48.9
|
||||
C214.4,437.4,218.9,445.1,224.1,442.5L224.1,442.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
|
||||
<ellipse transform="matrix(0.9684 -0.2494 0.2494 0.9684 -66.4734 109.0276)" class="st2" cx="397" cy="316.8" rx="63.9" ry="32.9"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st3" d="M363.8,341.5c28.3,7,58.7-0.8,80.2-20.5c4.3-3.9-2.1-10.3-6.4-6.4c-19.1,17.5-46.4,24.4-71.5,18.2
|
||||
C360.5,331.5,358.1,340.1,363.8,341.5L363.8,341.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<path class="st4" d="M156.9,96c-25.4,4.5-32.9,20.2-45,46.9c-20.2,44.4,2,90.3,5.6,97.5c18.4,36.5,42.3,36.8,60,80.6
|
||||
c8.6,21.2,4.6,25.2,13.1,37.5c20.4,29.2,63.7,36.1,91.9,33.8c40.3-3.3,91.5-28.8,108.8-82.5c17.1-53.2-6-112.1-41.2-131.2
|
||||
c-25.3-13.7-44.9-0.5-71.2-20.6c-21.6-16.5-18.4-33.1-37.5-48.8C227.9,98.1,203.7,87.7,156.9,96z"/>
|
||||
<ellipse transform="matrix(0.6622 -0.7494 0.7494 0.6622 65.2068 309.6339)" class="st2" cx="376" cy="82.5" rx="21" ry="15.5"/>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st3" d="M379.8,75.3c0.8,0.2-0.6-0.4-0.1-0.1c0.2,0.1,0.3,0.2,0.5,0.3c0.4,0.2-0.6-0.7-0.1-0.1
|
||||
c0.1,0.1,0.7,0.8,0.2,0.2c-0.4-0.5,0,0,0.1,0.1c0.4,0.7,0,0.2,0-0.2c0,0.1,0.1,0.4,0.2,0.5c0.3,0.9-0.1-1,0-0.1
|
||||
c0.1,2.3,2,4.6,4.5,4.5c2.3-0.1,4.6-2,4.5-4.5c-0.3-4.4-3-8.1-7.3-9.4c-2.2-0.7-5,0.8-5.5,3.1C376.1,72.2,377.4,74.5,379.8,75.3
|
||||
L379.8,75.3z"/>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
<ellipse transform="matrix(0.9999 -1.433736e-02 1.433736e-02 0.9999 -4.303 0.8051)" class="st2" cx="54" cy="300.5" rx="21" ry="15.5"/>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st3" d="M52.2,297.5c1.1-0.3,1.4-0.4,2.5,0c0.8,0.3,1.3,0.7,2,1.7c1.5,1.9,4.8,1.6,6.4,0c1.9-1.9,1.5-4.4,0-6.4
|
||||
c-3.1-3.9-8.6-5.4-13.3-4C44.3,290.5,46.7,299.2,52.2,297.5L52.2,297.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st2" d="M149.3,108.8c4.9-10.8-1.3-24.2-12.9-26.9c-1.9-0.4-2.7,2.4-0.8,2.9c9.6,2.3,15.3,13.5,11.2,22.5
|
||||
C145.9,109,148.5,110.5,149.3,108.8L149.3,108.8z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st2" d="M141.2,112.3c2.4-9.4-5.4-19.3-15.2-19c-1.9,0.1-1.9,3.1,0,3c7.8-0.2,14.2,7.6,12.3,15.2
|
||||
C137.8,113.4,140.7,114.2,141.2,112.3L141.2,112.3z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st2" d="M132.6,118c-1.1-8.3-10.9-13.4-18.2-9.1c-1.7,1-0.2,3.6,1.5,2.6c5.2-3,12.9,0.4,13.7,6.5
|
||||
C129.8,119.9,132.8,119.9,132.6,118L132.6,118z"/>
|
||||
</g>
|
||||
</g>
|
||||
<path class="st5" d="M215.5,166.5l34-73c0,0,35,0,46,21c7.5,14.3,8,39,8,39L215.5,166.5z"/>
|
||||
<path class="st5" d="M208.2,170.5l-79.5-12.7c0,0-19.6,29-8.4,49.9c7.6,14.2,27.8,28.5,27.8,28.5L208.2,170.5z"/>
|
||||
<path class="st2" d="M210.5,164.5l33-74c0,0-2.5-5.5-8-7s-12,0-12,0L210.5,164.5z"/>
|
||||
<path class="st2" d="M207.4,165.3l-73.1-35c0,0-5.6,2.4-7.2,7.8c-1.6,5.5-0.3,12-0.3,12L207.4,165.3z"/>
|
||||
<path d="M215.5,166.5L234,127c0,0,17-6,25.5,7.5c8.6,13.6-3.5,25.5-3.5,25.5L215.5,166.5z"/>
|
||||
<path d="M206.7,170.9l-29.6,32c0,0-18,0.5-22-14.9c-4-15.6,11.1-23.2,11.1-23.2L206.7,170.9z"/>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st3" d="M243.4,139.1c-0.6,0.2-0.7,0.3-0.4,0.2c0.3-0.1,0.2-0.1-0.5,0.1c0.7,0-0.3,0-0.4-0.1c0.1,0,0.3,0.1,0.4,0.1
|
||||
c0.3,0.1,0.2,0-0.4-0.2c0,0,0.6,0.3,0.6,0.3c0.5,0.2-0.9-0.6-0.1-0.1c0.6,0.4-0.3-0.5-0.1-0.1c0.3,0.5-0.3-1-0.1-0.2
|
||||
c0.2,0.8,0-1,0-0.1c0,2.4,2.1,4.6,4.5,4.5c2.5-0.1,4.5-2,4.5-4.5c0-3-1.6-5.7-4.1-7.3c-2.6-1.7-5.6-1.6-8.4-0.4
|
||||
c-2.2,0.9-2.8,4.3-1.6,6.2C238.7,139.7,241,140.1,243.4,139.1L243.4,139.1z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st3" d="M173.5,176.4c-0.5-0.3-0.1,0,0.2,0.1c-0.7-0.6,0.3,0.5,0.1,0c-0.3-0.5,0.4,0.8,0.1,0.2
|
||||
c-0.4-0.8,0.2,0.2,0,0.1c0,0,0-0.6,0-0.6c-0.1,0.1-0.1,1,0,0.3c-0.1,0.2-0.1,0.3-0.2,0.5c0.2-0.3,0.2-0.4,0-0.1
|
||||
c-0.2,0.2-0.2,0.3-0.1,0.1c0.2-0.2,0.1-0.2-0.3,0.2c1.9-1.4,3-4,1.6-6.2c-1.2-1.9-4.1-3.1-6.2-1.6c-2.4,1.7-4,4.3-3.9,7.4
|
||||
c0.1,3,1.6,5.7,4.1,7.3c2,1.2,5,0.5,6.2-1.6C176.3,180.4,175.7,177.7,173.5,176.4L173.5,176.4z"/>
|
||||
</g>
|
||||
</g>
|
||||
|
||||
<ellipse transform="matrix(0.862 -0.5069 0.5069 0.862 -88.3186 186.5516)" class="st6" cx="298.5" cy="255.5" rx="79.5" ry="68.5"/>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st7" d="M173.6,109.8c-2.1,2-3.9,4.6-3.6,7.6c0.3,3.5,2.8,6.6,6.6,6.7c6,0.2,11.5-7.7,8.2-13c-1-1.7-3.1-3.1-5.2-3
|
||||
c-1.7,0.1-3.1,0.8-4.4,1.9c-2,1.8-2.8,5.2-1.9,7.7c2.4,6.6,11.8,5.9,13.8-0.7c0.7-2.5-0.9-5.6-3.5-6.2c-2.7-0.6-5.4,0.8-6.2,3.5
|
||||
c0.6-2.1,3.1-2.6,4.6-1c0.8,0.9,1,1.8,0.8,2.8c0.2-0.5,0.1-0.4-0.1,0.3c-0.4,0.7-1,1.2-1.8,1.4c-0.9,0-1.8,0-2.7,0
|
||||
c-1.8-0.6-2.5-1.6-2.3-3.1c-0.1-0.4-0.1-0.7,0.1-1c0.2-0.3,0.1-0.3-0.1,0.1c0.1-0.1,0.2-0.2,0.3-0.4c-0.2,0.3-0.5,0.5-0.7,0.8
|
||||
c-0.1,0.1-0.2,0.2-0.3,0.3c-0.3,0.2-0.2,0.2,0.1-0.1c1.3,0.2,2.6,0.4,3.9,0.6c0.2,0.4,0.5,0.9,0.7,1.3c0.2,0.6-0.2,0.9-0.2,1.4
|
||||
c0,0.4,0.4-0.5-0.1,0.1c0.3-0.4,0.6-0.7,1-1c1.9-1.8,2-5.3,0-7.1C178.7,107.9,175.6,107.8,173.6,109.8L173.6,109.8z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st7" d="M151.2,248.6c-5.7,7,1.7,16.9,10,13.3c3.4-1.5,6.3-5,6.3-8.9c0-4.2-2.7-7.6-7-7.8c-3.1-0.1-5.8,3.3-4.8,6.3
|
||||
c1.2,3.4,3.7,6.1,7.3,7c2.6,0.6,5.4-0.8,6.2-3.5c0.7-2.5-0.9-5.5-3.5-6.2c-1.7-0.4,0,0.1-0.2,0.1c-0.4,0-0.4-0.8-0.1-0.1
|
||||
c-1.6,2.1-3.2,4.2-4.8,6.3c-2.4-0.1-2.8-1.1-3-2.6c0.1,0.7-0.1,0.2,0.1-0.1c0.7-0.9-0.5,0.5,0,0c-0.5,0.5-0.3,0.1-0.2,0.2
|
||||
c0.1,0,0.6,0,0.7,0c0.4,0.1,0.5,0.4,0.8,0.6c0.2,0.3,0.2,0.2-0.1-0.2c0.1,0.1,0.1,0.3,0.2,0.4c0,1,0.1,1.1-0.7,2.1
|
||||
c1.7-2.1,2-5,0-7.1C156.5,246.8,152.9,246.5,151.2,248.6L151.2,248.6z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st7" d="M204.1,205.7c0.8,4.8,5.3,8.6,10.1,8.6c5.1,0,9.5-3.9,10.3-8.9c0.7-4.4-0.2-12.1-5.3-13.6
|
||||
c-2.7-0.8-5.2,0.5-7,2.4c-1.1,1.2-1.5,1.7-3.1,1.2c0.7,2.8,1.5,5.6,2.2,8.4c0.2-0.2-0.5,0.2-0.5,0.2c6.3,1.4,8.9-8.2,2.7-9.6
|
||||
c-3.5-0.8-6.6,0-9.3,2.4c-3,2.6-1.1,7.2,2.2,8.4c2.6,0.9,5.5,0.8,8-0.2c1.3-0.5,2.4-1.2,3.4-2.1c0.4-0.3,0.7-0.6,1-1
|
||||
c0.2-0.3,0.4-0.5,0.6-0.7c0.4-0.4,0.3-0.4-0.5,0.3c-0.9,0-1.8,0-2.7,0c0.2,0.1,0.3,0.1,0.5,0.2c-0.7-0.4-1.5-0.9-2.2-1.3
|
||||
c0.1,0.2,0.3,0.3,0.4,0.5c-0.4-0.7-0.9-1.5-1.3-2.2c0.4,1.2,0.8,2.5,1,3.7c0,0.4,0,0.8,0,1.2c0,0.5-0.5,0.9,0,0.4
|
||||
c-0.8,0.6-0.9,0.2-1.1-0.9c-0.4-2.7-3.8-4.1-6.2-3.5C204.7,200.3,203.7,203,204.1,205.7L204.1,205.7z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st7" d="M265.9,179.6c0.2,0.4,0.5,0.9,0.7,1.3c0.6,1.1,1.8,2,3,2.3c1.2,0.3,2.8,0.2,3.9-0.5c1.1-0.7,2-1.7,2.3-3
|
||||
c0.3-1.4,0.1-2.6-0.5-3.9c-0.2-0.4-0.5-0.9-0.7-1.3c-0.6-1.1-1.8-2-3-2.3c-1.2-0.3-2.8-0.2-3.9,0.5c-1.1,0.7-2,1.7-2.3,3
|
||||
C265.1,177.1,265.3,178.3,265.9,179.6L265.9,179.6z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st7" d="M200.4,295.8c-6.1,1.6-8.1,8.6-5,13.7c2.8,4.7,9.1,7.2,14.3,5.4c4.9-1.7,7.8-7.1,6.3-12.2
|
||||
c-0.8-2.7-2.7-4.8-5.3-5.8c-1.4-0.5-2.8-0.7-4.2-0.8c-0.1,0-0.9-0.1-0.9-0.1c0.2-0.4,1.2,2.5,0.9,0.7c0,0.9,0,1.8,0,2.7
|
||||
c-0.1,0.1-0.1,0.1-0.2,0.2c3.1-5.6-5.5-10.7-8.6-5c-1.7,3-1.1,6.6,1.4,9c1.3,1.2,2.8,2,4.5,2.3c0.8,0.1,1.6,0.2,2.4,0.3
|
||||
c0.4,0,0.7,0,1.1,0.1c0.2,0.1,0.1,0.1-0.2-0.1c0,0.1-0.6-0.5-0.6-0.5c-0.1-0.1-0.1-0.2,0-0.3c0.1-0.3,0.1-0.1-0.1,0.5
|
||||
c-0.3-0.1,0.7-0.2-0.3-0.3c-0.9-0.1-1.1-0.6-1.8-0.9c0,0-0.2-0.3-0.3-0.3c0.3,0-0.8,1.2-0.8,1.2
|
||||
C209.3,303.8,206.6,294.2,200.4,295.8L200.4,295.8z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st7" d="M244.8,355.3c-4-6.2-11.2-2.3-12,3.9c-0.8,5.9,1.8,12,6.5,15.6c4.5,3.5,11.5,4.9,16.7,2.1
|
||||
c6.4-3.3,5.4-9.8,4.9-15.9c-0.5-6.3-1.9-12-9.5-12.1c-5.1-0.1-13.1,0.2-14.5,6.4c-1.2,5.4,2.5,12.8,8.2,13.8
|
||||
c6.2,1.1,11.2-5.5,7.8-11c-2.2-3.5-8.1-3.1-9.1,1.2c-1.1,4.4,0.5,8,4.1,10.6c5.2,3.8,10.2-4.8,5-8.6c0.2,0.2,0.4,0.5,0.5,0.7
|
||||
c-3,0.4-6.1,0.8-9.1,1.2c-0.4-0.7,3.4-3.1,2.9-4.8c-0.8-2.6-1.7,1.4-1.9,1.1c0,0.1,5.2-0.1,5.6-0.4c0.7,0.1,0.8-0.1,0.2-0.6
|
||||
c-0.4-0.7-0.5-0.8-0.4-0.3c-0.2,0.3,0.2,1.9,0.2,2.3c0.2,2,0.3,4,0.5,5.9c0.1,1.6,0.4,1.7-1.1,2c-1.3,0.2-2.9-0.3-4-0.9
|
||||
c-1.4-0.8-2.5-2-3.1-3.5c-0.3-0.7-0.4-1.3-0.5-2c0-0.3-0.1-0.7,0-1c0.2-1.9-1.1-1.5-3.8,1.2c-1-0.8-2-1.5-3-2.3
|
||||
c0.1,0.2,0.2,0.4,0.4,0.6C239.6,365.7,248.3,360.7,244.8,355.3L244.8,355.3z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st7" d="M336.5,337.4c-2.4-1.5-5.1-2.5-7.9-1.8c-2.7,0.7-4.9,3.2-5.3,6c-0.9,6.4,6.3,8.3,11.2,8.4
|
||||
c4.8,0.1,10.6-2.4,10.9-7.9c0.2-5.6-5.5-9.6-10.6-6.9c-5.7,3-0.7,11.6,5,8.6c-0.1,0.1-0.2,0.1-0.3,0.2c-0.9,0-1.8,0-2.7,0
|
||||
c-2.1-0.4-1.4-4.8-0.3-4.3c0,0-1.3,0.3-1.3,0.3c-0.6,0-1.2,0-1.8-0.1c-0.5-0.1-1-0.2-1.5-0.4c-1.2-0.5-1-0.2,0.6,0.7
|
||||
c0.2,0.8,0.5,1.7,0.7,2.5c-3.4,1.1-4.4,1.9-2.8,2.7c0.4,0.2,0.7,0.4,1.1,0.7C336.9,349.6,341.9,340.9,336.5,337.4L336.5,337.4z"
|
||||
/>
|
||||
</g>
|
||||
</g>
|
||||
<path class="st3" d="M224.3,256.5L252,273v-40l32,20v-38l28,17l4-28l23,12l-3-24c0,0-14-8-35.5-6.4c-11.6,0.9-24.3,6.8-33.5,11.4
|
||||
c-14,7-23.7,18.9-31.2,29.1C227,238,224.3,256.5,224.3,256.5z"/>
|
||||
<path class="st3" d="M372.9,248.9l-28.8-14.5l2.9,39.9l-33.3-17.7l2.7,37.9l-29.1-15l-2,28.2l-23.8-10.3l4.7,23.7
|
||||
c0,0,14.5,7,35.9,3.8c11.5-1.7,23.7-8.5,32.6-13.8c13.5-8,22.3-20.5,29-31.2C371.5,267.5,372.9,248.9,372.9,248.9z"/>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st8" d="M235.2,121.6c8.5-3.1,23.2-0.1,27.8,8.4c2.3,4.4,4.5,9.9,4.5,14.9c0.1,5.5-2.7,10.5-5.3,15.3
|
||||
c-1.5,2.8,2.8,5.4,4.3,2.5c3.1-5.8,6.3-11.9,6-18.7c-0.3-6-2.8-12.8-5.9-17.9c-6-9.5-22.6-13.1-32.7-9.4
|
||||
C230.9,117.8,232.2,122.7,235.2,121.6L235.2,121.6z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st8" d="M241.1,110.5c11.6-2.3,25.6,2.3,32.2,12.4c6.6,10.2,6.1,22.8,3.1,34.2c-1.3,5,6.4,7.1,7.7,2.1
|
||||
c3.8-14.3,3.8-30.3-5.5-42.6c-8.9-11.7-25.5-16.6-39.6-13.8C233.9,103.8,236.1,111.5,241.1,110.5L241.1,110.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st8" d="M245.4,97.5c7.8-1.8,15.5,0,22.9,2.8c7.2,2.7,15,6.1,20.3,11.8c10.7,11.7,9.5,29.3,8.7,44
|
||||
c-0.3,6.4,9.7,6.4,10,0c1-17.9,1.2-38.5-12.7-52.1c-6.4-6.3-15.3-10.2-23.6-13.3c-9.1-3.4-18.6-4.9-28.2-2.8
|
||||
C236.5,89.2,239.1,98.9,245.4,97.5L245.4,97.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st8" d="M155.8,158.5c-13.1,4.8-14.2,21.6-10.1,33.1c4.3,12,15.2,20.6,28.2,20.5c3.2,0,3.2-5,0-5
|
||||
c-9.9,0.1-18.6-5.9-22.6-14.9c-3.9-8.6-5.2-24.8,5.8-28.9C160.2,162.3,158.9,157.4,155.8,158.5L155.8,158.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st8" d="M164.1,216.5c-11.4-2.2-18.8-11.4-22.7-21.9c-3.6-9.6-7.7-25.3,1.2-33.1c3.9-3.4-1.8-9-5.7-5.7
|
||||
c-11.3,9.9-7.9,28.5-3.3,40.9c4.8,13,14.1,24.7,28.3,27.5C167,225.2,169.1,217.5,164.1,216.5L164.1,216.5z"/>
|
||||
</g>
|
||||
</g>
|
||||
<g>
|
||||
<g>
|
||||
<path class="st8" d="M152,231.7c-27.3-13.3-38.1-46.5-23.3-73.2c3.1-5.6-5.5-10.7-8.6-5c-17.3,31.2-5.3,71.1,26.9,86.9
|
||||
C152.7,243.1,157.8,234.5,152,231.7L152,231.7z"/>
|
||||
</g>
|
||||
</g>
|
||||
</svg>
|
||||
|
After Width: | Height: | Size: 12 KiB |
@ -92,7 +92,10 @@ describe('<OrganizationAdd />', () => {
|
||||
});
|
||||
|
||||
test('AnsibleSelect component renders if there are virtual environments', async () => {
|
||||
const mockInstanceGroups = [{ name: 'One', id: 1 }, { name: 'Two', id: 2 }];
|
||||
const mockInstanceGroups = [
|
||||
{ name: 'One', id: 1 },
|
||||
{ name: 'Two', id: 2 },
|
||||
];
|
||||
OrganizationsAPI.readInstanceGroups.mockReturnValue({
|
||||
data: {
|
||||
results: mockInstanceGroups,
|
||||
@ -119,7 +122,10 @@ describe('<OrganizationAdd />', () => {
|
||||
});
|
||||
|
||||
test('AnsibleSelect component does not render if there are 0 virtual environments', async () => {
|
||||
const mockInstanceGroups = [{ name: 'One', id: 1 }, { name: 'Two', id: 2 }];
|
||||
const mockInstanceGroups = [
|
||||
{ name: 'One', id: 1 },
|
||||
{ name: 'Two', id: 2 },
|
||||
];
|
||||
OrganizationsAPI.readInstanceGroups.mockReturnValue({
|
||||
data: {
|
||||
results: mockInstanceGroups,
|
||||
|
||||
@ -4,7 +4,11 @@ import { withI18n } from '@lingui/react';
|
||||
import { t } from '@lingui/macro';
|
||||
import { Button, Chip } from '@patternfly/react-core';
|
||||
import { OrganizationsAPI } from '../../../api';
|
||||
import { DetailList, Detail, UserDateDetail } from '../../../components/DetailList';
|
||||
import {
|
||||
DetailList,
|
||||
Detail,
|
||||
UserDateDetail,
|
||||
} from '../../../components/DetailList';
|
||||
import { CardBody, CardActionsRow } from '../../../components/Card';
|
||||
import AlertModal from '../../../components/AlertModal';
|
||||
import ChipGroup from '../../../components/ChipGroup';
|
||||
|
||||
@ -28,7 +28,10 @@ describe('<OrganizationDetail />', () => {
|
||||
};
|
||||
const mockInstanceGroups = {
|
||||
data: {
|
||||
results: [{ name: 'One', id: 1 }, { name: 'Two', id: 2 }],
|
||||
results: [
|
||||
{ name: 'One', id: 1 },
|
||||
{ name: 'Two', id: 2 },
|
||||
],
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@ -64,7 +64,10 @@ describe('<OrganizationEdit />', () => {
|
||||
});
|
||||
|
||||
test('should navigate to organization detail when cancel is clicked', async () => {
|
||||
const mockInstanceGroups = [{ name: 'One', id: 1 }, { name: 'Two', id: 2 }];
|
||||
const mockInstanceGroups = [
|
||||
{ name: 'One', id: 1 },
|
||||
{ name: 'Two', id: 2 },
|
||||
];
|
||||
OrganizationsAPI.readInstanceGroups.mockReturnValue({
|
||||
data: {
|
||||
results: mockInstanceGroups,
|
||||
|
||||
@ -27,7 +27,10 @@ describe('<OrganizationForm />', () => {
|
||||
instance_groups: '/api/v2/organizations/1/instance_groups',
|
||||
},
|
||||
};
|
||||
const mockInstanceGroups = [{ name: 'One', id: 1 }, { name: 'Two', id: 2 }];
|
||||
const mockInstanceGroups = [
|
||||
{ name: 'One', id: 1 },
|
||||
{ name: 'Two', id: 2 },
|
||||
];
|
||||
|
||||
afterEach(() => {
|
||||
jest.clearAllMocks();
|
||||
@ -232,7 +235,10 @@ describe('<OrganizationForm />', () => {
|
||||
await waitForElement(wrapper, 'ContentLoading', el => el.length === 0);
|
||||
await act(async () => {
|
||||
wrapper.find('InstanceGroupsLookup').prop('onChange')(
|
||||
[{ name: 'One', id: 1 }, { name: 'Three', id: 3 }],
|
||||
[
|
||||
{ name: 'One', id: 1 },
|
||||
{ name: 'Three', id: 3 },
|
||||
],
|
||||
'instanceGroups'
|
||||
);
|
||||
});
|
||||
|
||||
@ -19,6 +19,7 @@ import { timeOfDay } from '../../../util/dates';
|
||||
import { ProjectsAPI } from '../../../api';
|
||||
import ClipboardCopyButton from '../../../components/ClipboardCopyButton';
|
||||
import StatusIcon from '../../../components/StatusIcon';
|
||||
import DataListCell from '../../../components/DataListCell';
|
||||
import { toTitleCase } from '../../../util/strings';
|
||||
import CopyButton from '../../../components/CopyButton';
|
||||
import ProjectSyncButton from '../shared/ProjectSyncButton';
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
import React from 'react';
|
||||
|
||||
import { mountWithContexts } from '../../../../testUtils/enzymeHelpers';
|
||||
import { act } from 'react-dom/test-utils';
|
||||
import { mountWithContexts } from '../../../../testUtils/enzymeHelpers';
|
||||
import ProjectsListItem from './ProjectListItem';
|
||||
import { ProjectsAPI } from '../../../api';
|
||||
|
||||
|
||||
@ -4,8 +4,8 @@ import { useLocation, useRouteMatch, useParams } from 'react-router-dom';
|
||||
import { withI18n } from '@lingui/react';
|
||||
import { t } from '@lingui/macro';
|
||||
|
||||
import { TeamsAPI } from '../../../api';
|
||||
import { Card } from '@patternfly/react-core';
|
||||
import { TeamsAPI } from '../../../api';
|
||||
|
||||
import useRequest from '../../../util/useRequest';
|
||||
import DataListToolbar from '../../../components/DataListToolbar';
|
||||
|
||||
@ -1,9 +1,12 @@
|
||||
import React from 'react';
|
||||
import { act } from 'react-dom/test-utils';
|
||||
import { createMemoryHistory } from 'history';
|
||||
import { TeamsAPI } from '../../../api';
|
||||
import { Route } from 'react-router-dom';
|
||||
import { mountWithContexts, waitForElement } from '../../../../testUtils/enzymeHelpers';
|
||||
import { TeamsAPI } from '../../../api';
|
||||
import {
|
||||
mountWithContexts,
|
||||
waitForElement,
|
||||
} from '../../../../testUtils/enzymeHelpers';
|
||||
import TeamAccessList from './TeamAccessList';
|
||||
|
||||
jest.mock('../../../api/models/Teams');
|
||||
|
||||
@ -6,9 +6,8 @@ import {
|
||||
DataListItemCells,
|
||||
DataListItemRow,
|
||||
} from '@patternfly/react-core';
|
||||
import DataListCell from '../../../components/DataListCell';
|
||||
|
||||
import { Link } from 'react-router-dom';
|
||||
import DataListCell from '../../../components/DataListCell';
|
||||
|
||||
function TeamAccessListItem({ role, i18n, detailUrl }) {
|
||||
const labelId = `teamRole-${role.id}`;
|
||||
|
||||
@ -13,7 +13,10 @@ jest.mock('../../../api');
|
||||
const mockInstanceGroups = {
|
||||
count: 5,
|
||||
data: {
|
||||
results: [{ id: 1, name: 'IG1' }, { id: 2, name: 'IG2' }],
|
||||
results: [
|
||||
{ id: 1, name: 'IG1' },
|
||||
{ id: 2, name: 'IG2' },
|
||||
],
|
||||
},
|
||||
};
|
||||
|
||||
|
||||
@ -46,7 +46,10 @@ const mockJobTemplate = {
|
||||
edit: true,
|
||||
},
|
||||
labels: {
|
||||
results: [{ name: 'Sushi', id: 1 }, { name: 'Major', id: 2 }],
|
||||
results: [
|
||||
{ name: 'Sushi', id: 1 },
|
||||
{ name: 'Major', id: 2 },
|
||||
],
|
||||
},
|
||||
inventory: {
|
||||
id: 2,
|
||||
@ -309,7 +312,10 @@ describe('<JobTemplateEdit />', () => {
|
||||
edit: true,
|
||||
},
|
||||
labels: {
|
||||
results: [{ name: 'Sushi', id: 1 }, { name: 'Major', id: 2 }],
|
||||
results: [
|
||||
{ name: 'Sushi', id: 1 },
|
||||
{ name: 'Major', id: 2 },
|
||||
],
|
||||
},
|
||||
inventory: {
|
||||
id: 2,
|
||||
|
||||
@ -13,11 +13,10 @@ import {
|
||||
Stack,
|
||||
StackItem,
|
||||
} from '@patternfly/react-core';
|
||||
import DataListCell from '../../../components/DataListCell';
|
||||
import ChipGroup from '../../../components/ChipGroup';
|
||||
import { CaretDownIcon, CaretUpIcon } from '@patternfly/react-icons';
|
||||
import styled from 'styled-components';
|
||||
import DataListCell from '../../../components/DataListCell';
|
||||
import ChipGroup from '../../../components/ChipGroup';
|
||||
|
||||
const DataListAction = styled(_DataListAction)`
|
||||
margin-left: 0;
|
||||
|
||||
@ -19,7 +19,11 @@ import ChipGroup from '../../../components/ChipGroup';
|
||||
import { VariablesDetail } from '../../../components/CodeMirrorInput';
|
||||
import ContentLoading from '../../../components/ContentLoading';
|
||||
import DeleteButton from '../../../components/DeleteButton';
|
||||
import { DetailList, Detail, UserDateDetail } from '../../../components/DetailList';
|
||||
import {
|
||||
DetailList,
|
||||
Detail,
|
||||
UserDateDetail,
|
||||
} from '../../../components/DetailList';
|
||||
import ErrorDetail from '../../../components/ErrorDetail';
|
||||
import LaunchButton from '../../../components/LaunchButton';
|
||||
import Sparkline from '../../../components/Sparkline';
|
||||
|
||||
@ -100,7 +100,7 @@ describe('<WorkflowJobTemplateDetail/>', () => {
|
||||
{
|
||||
element: 'Detail[label="Webhook URL"]',
|
||||
prop: 'value',
|
||||
value: 'http://127.0.0.1:3001/api/v2/workflow_job_templates/45/github/',
|
||||
value: 'http://localhost/api/v2/workflow_job_templates/45/github/',
|
||||
},
|
||||
{
|
||||
element: "Detail[label='Webhook Service']",
|
||||
@ -136,7 +136,7 @@ describe('<WorkflowJobTemplateDetail/>', () => {
|
||||
const labels = wrapper
|
||||
.find('Detail[label="Labels"]')
|
||||
.find('Chip[component="li"]');
|
||||
const sparkline = wrapper.find('Sparkline__Link');
|
||||
const sparkline = wrapper.find('Sparkline Link');
|
||||
|
||||
expect(organization.text()).toBe('Org');
|
||||
expect(inventory.text()).toEqual('Bar');
|
||||
|
||||
@ -23,7 +23,10 @@ const mockTemplate = {
|
||||
inventory: { id: 1, name: 'Inventory 1' },
|
||||
organization: { id: 1, name: 'Organization 1' },
|
||||
labels: {
|
||||
results: [{ name: 'Label 1', id: 1 }, { name: 'Label 2', id: 2 }],
|
||||
results: [
|
||||
{ name: 'Label 1', id: 1 },
|
||||
{ name: 'Label 2', id: 2 },
|
||||
],
|
||||
},
|
||||
},
|
||||
scm_branch: 'devel',
|
||||
@ -187,7 +190,10 @@ describe('<WorkflowJobTemplateEdit/>', () => {
|
||||
summary_fields: {
|
||||
inventory: { id: 1, name: 'Inventory 1' },
|
||||
labels: {
|
||||
results: [{ name: 'Label 1', id: 1 }, { name: 'Label 2', id: 2 }],
|
||||
results: [
|
||||
{ name: 'Label 1', id: 1 },
|
||||
{ name: 'Label 2', id: 2 },
|
||||
],
|
||||
},
|
||||
},
|
||||
scm_branch: 'devel',
|
||||
|
||||
@ -14,7 +14,8 @@ import {
|
||||
} from '../../../../../contexts/Workflow';
|
||||
import Wizard from '../../../../../components/Wizard';
|
||||
import { NodeTypeStep } from './NodeTypeStep';
|
||||
import { RunStep, NodeNextButton } from '.';
|
||||
import RunStep from './RunStep';
|
||||
import NodeNextButton from './NodeNextButton';
|
||||
|
||||
function NodeModal({ askLinkType, i18n, onSave, title }) {
|
||||
const history = useHistory();
|
||||
|
||||
@ -2,6 +2,4 @@ export { default as InventorySourcesList } from './InventorySourcesList';
|
||||
export { default as JobTemplatesList } from './JobTemplatesList';
|
||||
export { default as NodeTypeStep } from './NodeTypeStep';
|
||||
export { default as ProjectsList } from './ProjectsList';
|
||||
export {
|
||||
default as WorkflowJobTemplatesList,
|
||||
} from './WorkflowJobTemplatesList';
|
||||
export { default as WorkflowJobTemplatesList } from './WorkflowJobTemplatesList';
|
||||
|
||||
@ -21,7 +21,8 @@ import {
|
||||
WorkflowStartNode,
|
||||
WorkflowTools,
|
||||
} from '../../../components/Workflow';
|
||||
import { VisualizerLink, VisualizerNode } from '.';
|
||||
import VisualizerLink from './VisualizerLink';
|
||||
import VisualizerNode from './VisualizerNode';
|
||||
|
||||
const PotentialLink = styled.polyline`
|
||||
pointer-events: none;
|
||||
|
||||
@ -38,7 +38,12 @@ describe('<JobTemplateForm />', () => {
|
||||
id: 3,
|
||||
name: 'qux',
|
||||
},
|
||||
labels: { results: [{ name: 'Sushi', id: 1 }, { name: 'Major', id: 2 }] },
|
||||
labels: {
|
||||
results: [
|
||||
{ name: 'Sushi', id: 1 },
|
||||
{ name: 'Major', id: 2 },
|
||||
],
|
||||
},
|
||||
credentials: [
|
||||
{ id: 1, kind: 'cloud', name: 'Foo' },
|
||||
{ id: 2, kind: 'ssh', name: 'Bar' },
|
||||
|
||||
@ -6,7 +6,10 @@ import LabelSelect from './LabelSelect';
|
||||
|
||||
jest.mock('../../../api');
|
||||
|
||||
const options = [{ id: 1, name: 'one' }, { id: 2, name: 'two' }];
|
||||
const options = [
|
||||
{ id: 1, name: 'one' },
|
||||
{ id: 2, name: 'two' },
|
||||
];
|
||||
|
||||
describe('<LabelSelect />', () => {
|
||||
afterEach(() => {
|
||||
@ -40,7 +43,10 @@ describe('<LabelSelect />', () => {
|
||||
});
|
||||
LabelsAPI.read.mockReturnValueOnce({
|
||||
data: {
|
||||
results: [{ id: 3, name: 'three' }, { id: 4, name: 'four' }],
|
||||
results: [
|
||||
{ id: 3, name: 'three' },
|
||||
{ id: 4, name: 'four' },
|
||||
],
|
||||
},
|
||||
});
|
||||
let wrapper;
|
||||
|
||||
@ -9,10 +9,10 @@ import {
|
||||
InputGroup,
|
||||
Button,
|
||||
} from '@patternfly/react-core';
|
||||
import { useField } from 'formik';
|
||||
import ContentError from '../../../components/ContentError';
|
||||
import ContentLoading from '../../../components/ContentLoading';
|
||||
import useRequest from '../../../util/useRequest';
|
||||
import { useField } from 'formik';
|
||||
import { FormColumnLayout } from '../../../components/FormLayout';
|
||||
import { CredentialLookup } from '../../../components/Lookup';
|
||||
import AnsibleSelect from '../../../components/AnsibleSelect';
|
||||
|
||||
@ -32,7 +32,10 @@ describe('<WorkflowJobTemplateForm/>', () => {
|
||||
inventory: { id: 1, name: 'Inventory 1' },
|
||||
organization: { id: 1, name: 'Organization 1' },
|
||||
labels: {
|
||||
results: [{ name: 'Label 1', id: 1 }, { name: 'Label 2', id: 2 }],
|
||||
results: [
|
||||
{ name: 'Label 1', id: 1 },
|
||||
{ name: 'Label 2', id: 2 },
|
||||
],
|
||||
},
|
||||
},
|
||||
scm_branch: 'devel',
|
||||
@ -61,7 +64,10 @@ describe('<WorkflowJobTemplateForm/>', () => {
|
||||
results: [{ id: 1 }, { id: 2 }],
|
||||
});
|
||||
InventoriesAPI.read.mockResolvedValue({
|
||||
results: [{ id: 1, name: 'Foo' }, { id: 2, name: 'Bar' }],
|
||||
results: [
|
||||
{ id: 1, name: 'Foo' },
|
||||
{ id: 2, name: 'Bar' },
|
||||
],
|
||||
});
|
||||
|
||||
history = createMemoryHistory({
|
||||
|
||||
@ -1,9 +1,12 @@
|
||||
import React from 'react';
|
||||
import { act } from 'react-dom/test-utils';
|
||||
import { createMemoryHistory } from 'history';
|
||||
import { UsersAPI } from '../../../api';
|
||||
import { Route } from 'react-router-dom';
|
||||
import { mountWithContexts, waitForElement } from '../../../../testUtils/enzymeHelpers';
|
||||
import { UsersAPI } from '../../../api';
|
||||
import {
|
||||
mountWithContexts,
|
||||
waitForElement,
|
||||
} from '../../../../testUtils/enzymeHelpers';
|
||||
import UserAccessList from './UserAccessList';
|
||||
|
||||
jest.mock('../../../api/models/Users');
|
||||
|
||||
@ -6,9 +6,8 @@ import {
|
||||
DataListItemCells,
|
||||
DataListItemRow,
|
||||
} from '@patternfly/react-core';
|
||||
import DataListCell from '../../../components/DataListCell';
|
||||
|
||||
import { Link } from 'react-router-dom';
|
||||
import DataListCell from '../../../components/DataListCell';
|
||||
|
||||
function UserAccessListItem({ role, i18n, detailUrl }) {
|
||||
const labelId = `userRole-${role.id}`;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user