]> source.dussan.org Git - sonarqube.git/commitdiff
Provide new test helper functions for creating mocks
authorWouter Admiraal <wouter.admiraal@sonarsource.com>
Thu, 20 Dec 2018 09:54:16 +0000 (10:54 +0100)
committerSonarTech <sonartech@sonarsource.com>
Mon, 24 Dec 2018 19:20:54 +0000 (20:20 +0100)
server/sonar-web/src/main/js/apps/overview/meta/__tests__/MetaTags-test.tsx
server/sonar-web/src/main/js/helpers/testUtils.ts

index b2ed2b1ac1ecc49c48aae0afbad400ed8ab8d59f..a9bbe41926509e491a06b03e1de928840ad3c4ca 100644 (file)
 import * as React from 'react';
 import { shallow } from 'enzyme';
 import MetaTags from '../MetaTags';
+import { mockComponent } from '../../../../helpers/testUtils';
 
-const component = {
-  key: 'my-project',
-  tags: [],
+const component = mockComponent({
   configuration: {
     showSettings: false
-  },
-  organization: 'foo',
-  qualifier: 'TRK',
-  name: 'MyProject',
-  breadcrumbs: []
-};
+  }
+});
 
-const componentWithTags = {
+const componentWithTags = mockComponent({
   key: 'my-second-project',
   tags: ['foo', 'bar'],
   configuration: {
     showSettings: true
   },
-  organization: 'foo',
-  qualifier: 'TRK',
-  name: 'MySecondProject',
-  breadcrumbs: []
-};
+  name: 'MySecondProject'
+});
 
 it('should render without tags and admin rights', () => {
   expect(
index 399363f64189679985ab37cc26e3f318aad3aa68..429d60e4d14455067334deab6531a8a789597a71 100644 (file)
@@ -19,6 +19,7 @@
  */
 import { ShallowWrapper, ReactWrapper } from 'enzyme';
 import { InjectedRouter } from 'react-router';
+import { EditionKey } from '../apps/marketplace/utils';
 
 export const mockEvent = {
   target: { blur() {} },
@@ -130,3 +131,54 @@ export function mockRouter(overrides: { push?: Function; replace?: Function } =
     ...overrides
   } as InjectedRouter;
 }
+
+export function mockAppState(overrides = {}): T.AppState {
+  return {
+    defaultOrganization: 'foo',
+    edition: EditionKey.community,
+    productionDatabase: true,
+    qualifiers: ['TRK'],
+    settings: {},
+    version: '1.0',
+    ...overrides
+  };
+}
+
+export function mockComponent(overrides = {}): T.Component {
+  return {
+    breadcrumbs: [],
+    key: 'my-project',
+    name: 'MyProject',
+    organization: 'foo',
+    qualifier: 'TRK',
+    qualityGate: { isDefault: true, key: '30', name: 'Sonar way' },
+    qualityProfiles: [mockQualityProfile()],
+    tags: [],
+    ...overrides
+  };
+}
+
+export function mockCurrentUser(overrides = {}): T.CurrentUser {
+  return {
+    isLoggedIn: true,
+    ...overrides
+  };
+}
+
+export function mockOrganization(overrides = {}): T.Organization {
+  return {
+    key: 'foo',
+    name: 'Foo',
+    ...overrides
+  };
+}
+
+export function mockQualityProfile(overrides = {}): T.ComponentQualityProfile {
+  return {
+    deleted: false,
+    key: 'my-qp',
+    language: 'ts',
+    name: 'Sonar way',
+    ...overrides
+  };
+}