aboutsummaryrefslogtreecommitdiffstats
path: root/server/sonar-web/src
diff options
context:
space:
mode:
authorJeremy Davis <jeremy.davis@sonarsource.com>2019-10-24 15:38:40 +0200
committersonartech <sonartech@sonarsource.com>2019-11-06 10:04:29 +0100
commit22c6e4a22a6b07b41d61bae95c8b800452be1a77 (patch)
treed9cb7e66835b3ce32185237412702df9177b3280 /server/sonar-web/src
parenta394333579b636a2e28264a75c5b01b8ed906bbd (diff)
downloadsonarqube-22c6e4a22a6b07b41d61bae95c8b800452be1a77.tar.gz
sonarqube-22c6e4a22a6b07b41d61bae95c8b800452be1a77.zip
SONAR-12512 Hide page for CE
Diffstat (limited to 'server/sonar-web/src')
-rw-r--r--server/sonar-web/src/main/js/apps/settings/components/AdditionalCategories.tsx7
-rw-r--r--server/sonar-web/src/main/js/apps/settings/components/AllCategoriesList.tsx24
-rw-r--r--server/sonar-web/src/main/js/apps/settings/components/__tests__/AllCategoriesList-test.tsx8
-rw-r--r--server/sonar-web/src/main/js/apps/settings/components/__tests__/__snapshots__/AllCategoriesList-test.tsx.snap45
4 files changed, 72 insertions, 12 deletions
diff --git a/server/sonar-web/src/main/js/apps/settings/components/AdditionalCategories.tsx b/server/sonar-web/src/main/js/apps/settings/components/AdditionalCategories.tsx
index 92025b7dec3..91ad6e89589 100644
--- a/server/sonar-web/src/main/js/apps/settings/components/AdditionalCategories.tsx
+++ b/server/sonar-web/src/main/js/apps/settings/components/AdditionalCategories.tsx
@@ -45,6 +45,7 @@ export interface AdditionalCategory {
availableGlobally: boolean;
availableForProject: boolean;
displayTab: boolean;
+ requiresBranchesEnabled?: boolean;
}
export const ADDITIONAL_CATEGORIES: AdditionalCategory[] = [
@@ -78,7 +79,8 @@ export const ADDITIONAL_CATEGORIES: AdditionalCategory[] = [
renderComponent: getPullRequestDecorationComponent,
availableGlobally: true,
availableForProject: false,
- displayTab: true
+ displayTab: true,
+ requiresBranchesEnabled: true
},
{
key: PULL_REQUEST_DECORATION_BINDING_CATEGORY,
@@ -86,7 +88,8 @@ export const ADDITIONAL_CATEGORIES: AdditionalCategory[] = [
renderComponent: getPullRequestDecorationBindingComponent,
availableGlobally: false,
availableForProject: true,
- displayTab: true
+ displayTab: true,
+ requiresBranchesEnabled: true
}
];
diff --git a/server/sonar-web/src/main/js/apps/settings/components/AllCategoriesList.tsx b/server/sonar-web/src/main/js/apps/settings/components/AllCategoriesList.tsx
index 2f29a583260..d481f9b631f 100644
--- a/server/sonar-web/src/main/js/apps/settings/components/AllCategoriesList.tsx
+++ b/server/sonar-web/src/main/js/apps/settings/components/AllCategoriesList.tsx
@@ -22,7 +22,7 @@ import { sortBy } from 'lodash';
import * as React from 'react';
import { connect } from 'react-redux';
import { IndexLink } from 'react-router';
-import { getSettingsAppAllCategories, Store } from '../../../store/rootReducer';
+import { getAppState, getSettingsAppAllCategories, Store } from '../../../store/rootReducer';
import { getCategoryName } from '../utils';
import { ADDITIONAL_CATEGORIES } from './AdditionalCategories';
import { CATEGORY_OVERRIDES } from './CategoryOverrides';
@@ -33,6 +33,7 @@ interface Category {
}
export interface CategoriesListProps {
+ branchesEnabled?: boolean;
categories: string[];
component?: T.Component;
defaultCategory: string;
@@ -60,6 +61,8 @@ export class CategoriesList extends React.PureComponent<CategoriesListProps> {
}
render() {
+ const { branchesEnabled } = this.props;
+
const categoriesWithName = this.props.categories
.filter(key => !CATEGORY_OVERRIDES[key.toLowerCase()])
.map(key => ({
@@ -67,13 +70,15 @@ export class CategoriesList extends React.PureComponent<CategoriesListProps> {
name: getCategoryName(key)
}))
.concat(
- ADDITIONAL_CATEGORIES.filter(c => c.displayTab).filter(c =>
- this.props.component
- ? // Project settings
- c.availableForProject
- : // Global settings
- c.availableGlobally
- )
+ ADDITIONAL_CATEGORIES.filter(c => c.displayTab)
+ .filter(c =>
+ this.props.component
+ ? // Project settings
+ c.availableForProject
+ : // Global settings
+ c.availableGlobally
+ )
+ .filter(c => branchesEnabled || !c.requiresBranchesEnabled)
);
const sortedCategories = sortBy(categoriesWithName, category => category.name.toLowerCase());
return (
@@ -87,7 +92,8 @@ export class CategoriesList extends React.PureComponent<CategoriesListProps> {
}
const mapStateToProps = (state: Store) => ({
- categories: getSettingsAppAllCategories(state)
+ categories: getSettingsAppAllCategories(state),
+ branchesEnabled: getAppState(state).branchesEnabled
});
export default connect(mapStateToProps)(CategoriesList);
diff --git a/server/sonar-web/src/main/js/apps/settings/components/__tests__/AllCategoriesList-test.tsx b/server/sonar-web/src/main/js/apps/settings/components/__tests__/AllCategoriesList-test.tsx
index 3afdf0ed3aa..ee429dee539 100644
--- a/server/sonar-web/src/main/js/apps/settings/components/__tests__/AllCategoriesList-test.tsx
+++ b/server/sonar-web/src/main/js/apps/settings/components/__tests__/AllCategoriesList-test.tsx
@@ -31,7 +31,8 @@ jest.mock('../AdditionalCategories', () => ({
renderComponent: jest.fn(),
availableGlobally: true,
availableForProject: true,
- displayTab: true
+ displayTab: true,
+ requiresBranchesEnabled: true
},
{
key: 'CAT_2',
@@ -68,11 +69,16 @@ it('should render correctly in project mode', () => {
expect(shallowRender({ component: mockComponent() })).toMatchSnapshot();
});
+it('should render correctly when branches are disabled', () => {
+ expect(shallowRender({ branchesEnabled: false })).toMatchSnapshot();
+});
+
function shallowRender(props?: Partial<CategoriesListProps>) {
const categories = ['general'];
return shallow(
<CategoriesList
+ branchesEnabled={true}
categories={categories}
defaultCategory="general"
selectedCategory=""
diff --git a/server/sonar-web/src/main/js/apps/settings/components/__tests__/__snapshots__/AllCategoriesList-test.tsx.snap b/server/sonar-web/src/main/js/apps/settings/components/__tests__/__snapshots__/AllCategoriesList-test.tsx.snap
index d2529468bd1..5a1a854e1cf 100644
--- a/server/sonar-web/src/main/js/apps/settings/components/__tests__/__snapshots__/AllCategoriesList-test.tsx.snap
+++ b/server/sonar-web/src/main/js/apps/settings/components/__tests__/__snapshots__/AllCategoriesList-test.tsx.snap
@@ -127,3 +127,48 @@ exports[`should render correctly in project mode 1`] = `
</li>
</ul>
`;
+
+exports[`should render correctly when branches are disabled 1`] = `
+<ul
+ className="side-tabs-menu"
+>
+ <li
+ key="CAT_2"
+ >
+ <IndexLink
+ className=""
+ title="CAT_2_NAME"
+ to={
+ Object {
+ "pathname": "/settings",
+ "query": Object {
+ "category": "cat_2",
+ "id": undefined,
+ },
+ }
+ }
+ >
+ CAT_2_NAME
+ </IndexLink>
+ </li>
+ <li
+ key="general"
+ >
+ <IndexLink
+ className=""
+ title="general"
+ to={
+ Object {
+ "pathname": "/settings",
+ "query": Object {
+ "category": undefined,
+ "id": undefined,
+ },
+ }
+ }
+ >
+ general
+ </IndexLink>
+ </li>
+</ul>
+`;