]> source.dussan.org Git - sonarqube.git/commitdiff
SONAR-12591 Creating a new portfolio / application leads to a blank page
authorPhilippe Perrin <philippe.perrin@sonarsource.com>
Thu, 17 Oct 2019 15:39:23 +0000 (17:39 +0200)
committerSonarTech <sonartech@sonarsource.com>
Fri, 18 Oct 2019 18:21:07 +0000 (20:21 +0200)
server/sonar-web/src/main/js/apps/portfolio/components/CreateFormShim.tsx
server/sonar-web/src/main/js/apps/portfolio/components/__tests__/CreateFormShim-test.tsx [new file with mode: 0644]

index 16a01c8c6ab38c1f22898ca63ea164ea04d7b401..4d75e16bf93892bcf0d5b0e1815c265afb46df55 100644 (file)
@@ -18,6 +18,7 @@
  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
  */
 import * as React from 'react';
+import * as theme from '../../../app/theme';
 
 interface Props {
   defaultQualifier?: string;
@@ -27,7 +28,7 @@ interface Props {
 
 export default class CreateFormShim extends React.Component<Props> {
   render() {
-    const { CreateForm } = (window as any).SonarGovernance;
-    return <CreateForm {...this.props} />;
+    const { createFormBuilder } = (window as any).SonarGovernance;
+    return createFormBuilder(this.props, theme);
   }
 }
diff --git a/server/sonar-web/src/main/js/apps/portfolio/components/__tests__/CreateFormShim-test.tsx b/server/sonar-web/src/main/js/apps/portfolio/components/__tests__/CreateFormShim-test.tsx
new file mode 100644 (file)
index 0000000..84a7c7f
--- /dev/null
@@ -0,0 +1,36 @@
+/*
+ * SonarQube
+ * Copyright (C) 2009-2019 SonarSource SA
+ * mailto:info AT sonarsource DOT com
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 3 of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ */
+
+import { shallow } from 'enzyme';
+import * as React from 'react';
+import CreateFormShim from '../CreateFormShim';
+
+afterAll(() => delete (window as any).SonarGovernance);
+
+it('should call SonarGovernance createFormBuilder to build CreateForm component', () => {
+  const builderMock = jest.fn();
+  (window as any).SonarGovernance = { createFormBuilder: builderMock };
+  shallowRender();
+  expect(builderMock).toHaveBeenCalled();
+});
+
+function shallowRender() {
+  return shallow(<CreateFormShim onClose={jest.fn()} onCreate={jest.fn()} />);
+}