From b10b1bfde24bc79eaf555c0a0c30301944601f4b Mon Sep 17 00:00:00 2001 From: Lyn Nagara Date: Tue, 8 Jan 2019 14:05:46 -0800 Subject: [PATCH] ref(groups): Refactor project group details Split project group details files so the bulk of it can be reused for organizations. Move group details files to new folder structure. This is intended to make an organization level group details view easier to implement in future. --- src/sentry/static/sentry/app/routes.jsx | 39 +++++++++-------- .../groupDetails/{ => project}/actions.jsx | 0 .../{ => project}/eventToolbar.jsx | 0 .../project/groupActivity.jsx} | 0 .../project}/groupEventDetails.jsx | 3 +- .../project}/groupEvents.jsx | 0 .../project/groupMerged/index.jsx} | 3 +- .../project}/groupMerged/mergedItem.jsx | 0 .../project}/groupMerged/mergedList.jsx | 5 ++- .../project}/groupMerged/mergedToolbar.jsx | 0 .../project/groupSimilar/index.jsx} | 2 +- .../project}/groupSimilar/similarItem.jsx | 0 .../project}/groupSimilar/similarList.jsx | 5 ++- .../project}/groupSimilar/similarToolbar.jsx | 0 .../project}/groupTagValues.jsx | 0 .../{ => groupDetails/project}/groupTags.jsx | 0 .../project}/groupUserFeedback.jsx | 0 .../app/views/groupDetails/project/index.jsx | 37 ++++++++++++++++ .../groupDetails/{ => project}/seenBy.jsx | 0 .../views/groupDetails/shared/constants.jsx | 3 ++ .../shared}/groupDetails.jsx | 42 +++---------------- .../groupDetails/{ => shared}/header.jsx | 5 ++- .../spec/views/groupActivity/index.spec.jsx | 2 +- .../__snapshots__/groupEvents.spec.jsx.snap | 0 .../groupMergedView.spec.jsx.snap | 0 .../groupSimilarView.spec.jsx.snap | 0 .../spec/views/groupDetails/actions.spec.jsx | 2 +- .../{ => groupDetails}/groupEvents.spec.jsx | 2 +- .../groupMergedView.spec.jsx | 4 +- .../groupSimilarView.spec.jsx | 4 +- .../spec/views/groupDetails/seenBy.spec.jsx | 2 +- 31 files changed, 88 insertions(+), 72 deletions(-) rename src/sentry/static/sentry/app/views/groupDetails/{ => project}/actions.jsx (100%) rename src/sentry/static/sentry/app/views/groupDetails/{ => project}/eventToolbar.jsx (100%) rename src/sentry/static/sentry/app/views/{groupActivity/index.jsx => groupDetails/project/groupActivity.jsx} (100%) rename src/sentry/static/sentry/app/views/{ => groupDetails/project}/groupEventDetails.jsx (98%) rename src/sentry/static/sentry/app/views/{ => groupDetails/project}/groupEvents.jsx (100%) rename src/sentry/static/sentry/app/views/{groupMerged/groupMergedView.jsx => groupDetails/project/groupMerged/index.jsx} (98%) rename src/sentry/static/sentry/app/views/{ => groupDetails/project}/groupMerged/mergedItem.jsx (100%) rename src/sentry/static/sentry/app/views/{ => groupDetails/project}/groupMerged/mergedList.jsx (94%) rename src/sentry/static/sentry/app/views/{ => groupDetails/project}/groupMerged/mergedToolbar.jsx (100%) rename src/sentry/static/sentry/app/views/{groupSimilar/groupSimilarView.jsx => groupDetails/project/groupSimilar/index.jsx} (98%) rename src/sentry/static/sentry/app/views/{ => groupDetails/project}/groupSimilar/similarItem.jsx (100%) rename src/sentry/static/sentry/app/views/{ => groupDetails/project}/groupSimilar/similarList.jsx (95%) rename src/sentry/static/sentry/app/views/{ => groupDetails/project}/groupSimilar/similarToolbar.jsx (100%) rename src/sentry/static/sentry/app/views/{ => groupDetails/project}/groupTagValues.jsx (100%) rename src/sentry/static/sentry/app/views/{ => groupDetails/project}/groupTags.jsx (100%) rename src/sentry/static/sentry/app/views/{ => groupDetails/project}/groupUserFeedback.jsx (100%) create mode 100644 src/sentry/static/sentry/app/views/groupDetails/project/index.jsx rename src/sentry/static/sentry/app/views/groupDetails/{ => project}/seenBy.jsx (100%) create mode 100644 src/sentry/static/sentry/app/views/groupDetails/shared/constants.jsx rename src/sentry/static/sentry/app/views/{ => groupDetails/shared}/groupDetails.jsx (81%) rename src/sentry/static/sentry/app/views/groupDetails/{ => shared}/header.jsx (98%) rename tests/js/spec/views/{ => groupDetails}/__snapshots__/groupEvents.spec.jsx.snap (100%) rename tests/js/spec/views/{ => groupDetails}/__snapshots__/groupMergedView.spec.jsx.snap (100%) rename tests/js/spec/views/{ => groupDetails}/__snapshots__/groupSimilarView.spec.jsx.snap (100%) rename tests/js/spec/views/{ => groupDetails}/groupEvents.spec.jsx (97%) rename tests/js/spec/views/{ => groupDetails}/groupMergedView.spec.jsx (93%) rename tests/js/spec/views/{ => groupDetails}/groupSimilarView.spec.jsx (95%) diff --git a/src/sentry/static/sentry/app/routes.jsx b/src/sentry/static/sentry/app/routes.jsx index 00e993b187fb93..ab14402d232929 100644 --- a/src/sentry/static/sentry/app/routes.jsx +++ b/src/sentry/static/sentry/app/routes.jsx @@ -3,14 +3,14 @@ import React from 'react'; import App from 'app/views/app'; import CreateProject from 'app/views/onboarding/createProject'; -import GroupDetails from 'app/views/groupDetails'; -import GroupEvents from 'app/views/groupEvents'; -import GroupEventDetails from 'app/views/groupEventDetails'; -import GroupMergedView from 'app/views/groupMerged/groupMergedView'; -import GroupSimilarView from 'app/views/groupSimilar/groupSimilarView'; -import GroupTagValues from 'app/views/groupTagValues'; -import GroupTags from 'app/views/groupTags'; -import GroupUserFeedback from 'app/views/groupUserFeedback'; +import ProjectGroupDetails from 'app/views/groupDetails/project/index'; +import ProjectGroupEvents from 'app/views/groupDetails/project/groupEvents'; +import ProjectGroupEventDetails from 'app/views/groupDetails/project/groupEventDetails'; +import ProjectGroupMergedView from 'app/views/groupDetails/project/groupMerged'; +import ProjectGroupSimilarView from 'app/views/groupDetails/project/groupSimilar'; +import ProjectGroupTagValues from 'app/views/groupDetails/project/groupTagValues'; +import ProjectGroupTags from 'app/views/groupDetails/project/groupTags'; +import ProjectGroupUserFeedback from 'app/views/groupDetails/project/groupUserFeedback'; import HookStore from 'app/stores/hookStore'; import LazyLoad from 'app/components/lazyLoad'; import MyIssuesAssignedToMe from 'app/views/myIssues/assignedToMe'; @@ -1072,25 +1072,28 @@ function routes() { - + - import(/* webpackChunkName: "GroupActivity" */ './views/groupActivity')} + import(/* webpackChunkName: "GroupActivity" */ './views/groupDetails/project/groupActivity')} component={errorHandler(LazyLoad)} /> - - - - - - - + + + + + + + diff --git a/src/sentry/static/sentry/app/views/groupDetails/actions.jsx b/src/sentry/static/sentry/app/views/groupDetails/project/actions.jsx similarity index 100% rename from src/sentry/static/sentry/app/views/groupDetails/actions.jsx rename to src/sentry/static/sentry/app/views/groupDetails/project/actions.jsx diff --git a/src/sentry/static/sentry/app/views/groupDetails/eventToolbar.jsx b/src/sentry/static/sentry/app/views/groupDetails/project/eventToolbar.jsx similarity index 100% rename from src/sentry/static/sentry/app/views/groupDetails/eventToolbar.jsx rename to src/sentry/static/sentry/app/views/groupDetails/project/eventToolbar.jsx diff --git a/src/sentry/static/sentry/app/views/groupActivity/index.jsx b/src/sentry/static/sentry/app/views/groupDetails/project/groupActivity.jsx similarity index 100% rename from src/sentry/static/sentry/app/views/groupActivity/index.jsx rename to src/sentry/static/sentry/app/views/groupDetails/project/groupActivity.jsx diff --git a/src/sentry/static/sentry/app/views/groupEventDetails.jsx b/src/sentry/static/sentry/app/views/groupDetails/project/groupEventDetails.jsx similarity index 98% rename from src/sentry/static/sentry/app/views/groupEventDetails.jsx rename to src/sentry/static/sentry/app/views/groupDetails/project/groupEventDetails.jsx index 1d9ea558639567..e847b24b8f3fac 100644 --- a/src/sentry/static/sentry/app/views/groupEventDetails.jsx +++ b/src/sentry/static/sentry/app/views/groupDetails/project/groupEventDetails.jsx @@ -5,7 +5,6 @@ import {withMeta} from 'app/components/events/meta/metaProxy'; import ApiMixin from 'app/mixins/apiMixin'; import EventEntries from 'app/components/events/eventEntries'; import GroupEventDetailsLoadingError from 'app/components/errors/groupEventDetailsLoadingError'; -import GroupEventToolbar from 'app/views/groupDetails/eventToolbar'; import GroupSidebar from 'app/components/group/sidebar'; import GroupState from 'app/mixins/groupState'; import LoadingIndicator from 'app/components/loadingIndicator'; @@ -13,6 +12,8 @@ import MutedBox from 'app/components/mutedBox'; import ResolutionBox from 'app/components/resolutionBox'; import withEnvironmentInQueryString from 'app/utils/withEnvironmentInQueryString'; +import GroupEventToolbar from './eventToolbar'; + const GroupEventDetails = createReactClass({ displayName: 'GroupEventDetails', diff --git a/src/sentry/static/sentry/app/views/groupEvents.jsx b/src/sentry/static/sentry/app/views/groupDetails/project/groupEvents.jsx similarity index 100% rename from src/sentry/static/sentry/app/views/groupEvents.jsx rename to src/sentry/static/sentry/app/views/groupDetails/project/groupEvents.jsx diff --git a/src/sentry/static/sentry/app/views/groupMerged/groupMergedView.jsx b/src/sentry/static/sentry/app/views/groupDetails/project/groupMerged/index.jsx similarity index 98% rename from src/sentry/static/sentry/app/views/groupMerged/groupMergedView.jsx rename to src/sentry/static/sentry/app/views/groupDetails/project/groupMerged/index.jsx index f2756d643f5c3f..9ec5bf917a0b2d 100644 --- a/src/sentry/static/sentry/app/views/groupMerged/groupMergedView.jsx +++ b/src/sentry/static/sentry/app/views/groupDetails/project/groupMerged/index.jsx @@ -4,12 +4,13 @@ import Reflux from 'reflux'; import {t} from 'app/locale'; import ApiMixin from 'app/mixins/apiMixin'; -import MergedList from 'app/views/groupMerged/mergedList'; import GroupingActions from 'app/actions/groupingActions'; import GroupingStore from 'app/stores/groupingStore'; import LoadingError from 'app/components/loadingError'; import LoadingIndicator from 'app/components/loadingIndicator'; +import MergedList from './mergedList'; + const GroupMergedView = createReactClass({ displayName: 'GroupMergedView', mixins: [ApiMixin, Reflux.listenTo(GroupingStore, 'onGroupingUpdate')], diff --git a/src/sentry/static/sentry/app/views/groupMerged/mergedItem.jsx b/src/sentry/static/sentry/app/views/groupDetails/project/groupMerged/mergedItem.jsx similarity index 100% rename from src/sentry/static/sentry/app/views/groupMerged/mergedItem.jsx rename to src/sentry/static/sentry/app/views/groupDetails/project/groupMerged/mergedItem.jsx diff --git a/src/sentry/static/sentry/app/views/groupMerged/mergedList.jsx b/src/sentry/static/sentry/app/views/groupDetails/project/groupMerged/mergedList.jsx similarity index 94% rename from src/sentry/static/sentry/app/views/groupMerged/mergedList.jsx rename to src/sentry/static/sentry/app/views/groupDetails/project/groupMerged/mergedList.jsx index ce22e067ff8a99..7d8b24aeb778a4 100644 --- a/src/sentry/static/sentry/app/views/groupMerged/mergedList.jsx +++ b/src/sentry/static/sentry/app/views/groupDetails/project/groupMerged/mergedList.jsx @@ -5,12 +5,13 @@ import styled from 'react-emotion'; import {Panel} from 'app/components/panels'; import {t} from 'app/locale'; import EmptyStateWarning from 'app/components/emptyStateWarning'; -import MergedItem from 'app/views/groupMerged/mergedItem'; -import MergedToolbar from 'app/views/groupMerged/mergedToolbar'; import Pagination from 'app/components/pagination'; import QueryCount from 'app/components/queryCount'; import SentryTypes from 'app/sentryTypes'; +import MergedItem from './mergedItem'; +import MergedToolbar from './mergedToolbar'; + class MergedList extends React.Component { static propTypes = { onUnmerge: PropTypes.func.isRequired, diff --git a/src/sentry/static/sentry/app/views/groupMerged/mergedToolbar.jsx b/src/sentry/static/sentry/app/views/groupDetails/project/groupMerged/mergedToolbar.jsx similarity index 100% rename from src/sentry/static/sentry/app/views/groupMerged/mergedToolbar.jsx rename to src/sentry/static/sentry/app/views/groupDetails/project/groupMerged/mergedToolbar.jsx diff --git a/src/sentry/static/sentry/app/views/groupSimilar/groupSimilarView.jsx b/src/sentry/static/sentry/app/views/groupDetails/project/groupSimilar/index.jsx similarity index 98% rename from src/sentry/static/sentry/app/views/groupSimilar/groupSimilarView.jsx rename to src/sentry/static/sentry/app/views/groupDetails/project/groupSimilar/index.jsx index 4da9de01abb0bb..906da0fe16eddd 100644 --- a/src/sentry/static/sentry/app/views/groupSimilar/groupSimilarView.jsx +++ b/src/sentry/static/sentry/app/views/groupDetails/project/groupSimilar/index.jsx @@ -10,7 +10,7 @@ import GroupingStore from 'app/stores/groupingStore'; import LoadingError from 'app/components/loadingError'; import LoadingIndicator from 'app/components/loadingIndicator'; import ProjectState from 'app/mixins/projectState'; -import SimilarList from 'app/views/groupSimilar/similarList'; +import SimilarList from './similarList'; const GroupGroupingView = createReactClass({ displayName: 'GroupGroupingView', diff --git a/src/sentry/static/sentry/app/views/groupSimilar/similarItem.jsx b/src/sentry/static/sentry/app/views/groupDetails/project/groupSimilar/similarItem.jsx similarity index 100% rename from src/sentry/static/sentry/app/views/groupSimilar/similarItem.jsx rename to src/sentry/static/sentry/app/views/groupDetails/project/groupSimilar/similarItem.jsx diff --git a/src/sentry/static/sentry/app/views/groupSimilar/similarList.jsx b/src/sentry/static/sentry/app/views/groupDetails/project/groupSimilar/similarList.jsx similarity index 95% rename from src/sentry/static/sentry/app/views/groupSimilar/similarList.jsx rename to src/sentry/static/sentry/app/views/groupDetails/project/groupSimilar/similarList.jsx index 37e4666b66109c..053c9fca9a3686 100644 --- a/src/sentry/static/sentry/app/views/groupSimilar/similarList.jsx +++ b/src/sentry/static/sentry/app/views/groupDetails/project/groupSimilar/similarList.jsx @@ -5,13 +5,14 @@ import {Group} from 'app/sentryTypes'; import {t} from 'app/locale'; import Pagination from 'app/components/pagination'; import QueryCount from 'app/components/queryCount'; -import SimilarItem from 'app/views/groupSimilar/similarItem'; import SimilarSpectrum from 'app/components/similarSpectrum'; -import SimilarToolbar from 'app/views/groupSimilar/similarToolbar'; import SpreadLayout from 'app/components/spreadLayout'; import EmptyStateWarning from 'app/components/emptyStateWarning'; import {Panel} from 'app/components/panels'; +import SimilarItem from './similarItem'; +import SimilarToolbar from './similarToolbar'; + const SimilarItemPropType = PropTypes.shape({ issue: Group, score: PropTypes.object, diff --git a/src/sentry/static/sentry/app/views/groupSimilar/similarToolbar.jsx b/src/sentry/static/sentry/app/views/groupDetails/project/groupSimilar/similarToolbar.jsx similarity index 100% rename from src/sentry/static/sentry/app/views/groupSimilar/similarToolbar.jsx rename to src/sentry/static/sentry/app/views/groupDetails/project/groupSimilar/similarToolbar.jsx diff --git a/src/sentry/static/sentry/app/views/groupTagValues.jsx b/src/sentry/static/sentry/app/views/groupDetails/project/groupTagValues.jsx similarity index 100% rename from src/sentry/static/sentry/app/views/groupTagValues.jsx rename to src/sentry/static/sentry/app/views/groupDetails/project/groupTagValues.jsx diff --git a/src/sentry/static/sentry/app/views/groupTags.jsx b/src/sentry/static/sentry/app/views/groupDetails/project/groupTags.jsx similarity index 100% rename from src/sentry/static/sentry/app/views/groupTags.jsx rename to src/sentry/static/sentry/app/views/groupDetails/project/groupTags.jsx diff --git a/src/sentry/static/sentry/app/views/groupUserFeedback.jsx b/src/sentry/static/sentry/app/views/groupDetails/project/groupUserFeedback.jsx similarity index 100% rename from src/sentry/static/sentry/app/views/groupUserFeedback.jsx rename to src/sentry/static/sentry/app/views/groupDetails/project/groupUserFeedback.jsx diff --git a/src/sentry/static/sentry/app/views/groupDetails/project/index.jsx b/src/sentry/static/sentry/app/views/groupDetails/project/index.jsx new file mode 100644 index 00000000000000..db442da9f88914 --- /dev/null +++ b/src/sentry/static/sentry/app/views/groupDetails/project/index.jsx @@ -0,0 +1,37 @@ +import React from 'react'; +import PropTypes from 'prop-types'; +import SentryTypes from 'app/sentryTypes'; + +import withEnvironment from 'app/utils/withEnvironment'; +import {analytics} from 'app/utils/analytics'; + +import GroupDetails from '../shared/groupDetails'; + +class ProjectGroupDetails extends React.Component { + static propTypes = { + setProjectNavSection: PropTypes.func, + environment: SentryTypes.Environment, + }; + + static contextTypes = { + organization: SentryTypes.Organization, + project: SentryTypes.Project, + }; + + componentDidMount() { + this.props.setProjectNavSection('stream'); + analytics('issue_page.viewed', { + group_id: parseInt(this.props.params.groupId, 10), + org_id: parseInt(this.context.organization.id, 10), + project_id: parseInt(this.context.project.id, 10), + }); + } + + render() { + // eslint-disable-next-line no-unused-vars + const {setProjectNavSection, ...props} = this.props; + return ; + } +} + +export default withEnvironment(ProjectGroupDetails); diff --git a/src/sentry/static/sentry/app/views/groupDetails/seenBy.jsx b/src/sentry/static/sentry/app/views/groupDetails/project/seenBy.jsx similarity index 100% rename from src/sentry/static/sentry/app/views/groupDetails/seenBy.jsx rename to src/sentry/static/sentry/app/views/groupDetails/project/seenBy.jsx diff --git a/src/sentry/static/sentry/app/views/groupDetails/shared/constants.jsx b/src/sentry/static/sentry/app/views/groupDetails/shared/constants.jsx new file mode 100644 index 00000000000000..1d3c5a83caf004 --- /dev/null +++ b/src/sentry/static/sentry/app/views/groupDetails/shared/constants.jsx @@ -0,0 +1,3 @@ +export const ERROR_TYPES = { + GROUP_NOT_FOUND: 'GROUP_NOT_FOUND', +}; diff --git a/src/sentry/static/sentry/app/views/groupDetails.jsx b/src/sentry/static/sentry/app/views/groupDetails/shared/groupDetails.jsx similarity index 81% rename from src/sentry/static/sentry/app/views/groupDetails.jsx rename to src/sentry/static/sentry/app/views/groupDetails/shared/groupDetails.jsx index 7d4035b594b048..5efce980da2e28 100644 --- a/src/sentry/static/sentry/app/views/groupDetails.jsx +++ b/src/sentry/static/sentry/app/views/groupDetails/shared/groupDetails.jsx @@ -5,34 +5,23 @@ import Reflux from 'reflux'; import {browserHistory} from 'react-router'; import DocumentTitle from 'react-document-title'; -import {analytics} from 'app/utils/analytics'; import ApiMixin from 'app/mixins/apiMixin'; -import GroupHeader from 'app/views/groupDetails/header'; import GroupStore from 'app/stores/groupStore'; import LoadingError from 'app/components/loadingError'; import LoadingIndicator from 'app/components/loadingIndicator'; import SentryTypes from 'app/sentryTypes'; import {t} from 'app/locale'; -import withEnvironment from 'app/utils/withEnvironment'; -let ERROR_TYPES = { - GROUP_NOT_FOUND: 'GROUP_NOT_FOUND', -}; +import GroupHeader from '../shared/header'; +import {ERROR_TYPES} from '../shared/constants'; const GroupDetails = createReactClass({ displayName: 'GroupDetails', propTypes: { - setProjectNavSection: PropTypes.func, - memberList: PropTypes.array, environment: SentryTypes.Environment, }, - contextTypes: { - organization: SentryTypes.Organization, - project: SentryTypes.Project, - }, - childContextTypes: { group: SentryTypes.Group, location: PropTypes.object, @@ -40,12 +29,6 @@ const GroupDetails = createReactClass({ mixins: [ApiMixin, Reflux.listenTo(GroupStore, 'onGroupChange')], - getDefaultProps() { - return { - memberList: [], - }; - }, - getInitialState() { return { group: null, @@ -63,25 +46,16 @@ const GroupDetails = createReactClass({ }, componentWillMount() { - this.props.setProjectNavSection('stream'); this.fetchData(); }, - componentDidMount() { - analytics('issue_page.viewed', { - group_id: parseInt(this.props.params.groupId, 10), - org_id: parseInt(this.context.organization.id, 10), - project_id: parseInt(this.context.project.id, 10), - }); - }, - componentWillReceiveProps(nextProps) { if (nextProps.params.groupId !== this.props.params.groupId) { this.remountComponent(); } }, - componentDidUpdate(prevProps, prevState) { + componentDidUpdate(prevProps) { if ( prevProps.params.groupId !== this.props.params.groupId || prevProps.environment !== this.props.environment @@ -212,14 +186,8 @@ const GroupDetails = createReactClass({ return (
- + {React.cloneElement(this.props.children, { - memberList: this.props.memberList, group, })}
@@ -228,4 +196,4 @@ const GroupDetails = createReactClass({ }, }); -export default withEnvironment(GroupDetails); +export default GroupDetails; diff --git a/src/sentry/static/sentry/app/views/groupDetails/header.jsx b/src/sentry/static/sentry/app/views/groupDetails/shared/header.jsx similarity index 98% rename from src/sentry/static/sentry/app/views/groupDetails/header.jsx rename to src/sentry/static/sentry/app/views/groupDetails/shared/header.jsx index ec3d0b2222df19..47534a955b348f 100644 --- a/src/sentry/static/sentry/app/views/groupDetails/header.jsx +++ b/src/sentry/static/sentry/app/views/groupDetails/shared/header.jsx @@ -5,8 +5,7 @@ import {Link} from 'react-router'; import ApiMixin from 'app/mixins/apiMixin'; import AssigneeSelector from 'app/components/assigneeSelector'; import Count from 'app/components/count'; -import GroupActions from 'app/views/groupDetails/actions'; -import GroupSeenBy from 'app/views/groupDetails/seenBy'; +import GroupActions from 'app/views/groupDetails/project/actions'; import IndicatorStore from 'app/stores/indicatorStore'; import ListLink from 'app/components/listLink'; import NavTabs from 'app/components/navTabs'; @@ -17,6 +16,8 @@ import ProjectState from 'app/mixins/projectState'; import Tooltip from 'app/components/tooltip'; import {t} from 'app/locale'; +import GroupSeenBy from '../project/seenBy'; + const GroupHeader = createReactClass({ displayName: 'GroupHeader', diff --git a/tests/js/spec/views/groupActivity/index.spec.jsx b/tests/js/spec/views/groupActivity/index.spec.jsx index b6d07da7de8793..99eb3062707540 100644 --- a/tests/js/spec/views/groupActivity/index.spec.jsx +++ b/tests/js/spec/views/groupActivity/index.spec.jsx @@ -1,7 +1,7 @@ import React from 'react'; import {shallow} from 'enzyme'; -import GroupActivity from 'app/views/groupActivity'; +import GroupActivity from 'app/views/groupDetails/project/groupActivity'; import NoteInput from 'app/components/activity/noteInput'; import ConfigStore from 'app/stores/configStore'; import GroupStore from 'app/stores/groupStore'; diff --git a/tests/js/spec/views/__snapshots__/groupEvents.spec.jsx.snap b/tests/js/spec/views/groupDetails/__snapshots__/groupEvents.spec.jsx.snap similarity index 100% rename from tests/js/spec/views/__snapshots__/groupEvents.spec.jsx.snap rename to tests/js/spec/views/groupDetails/__snapshots__/groupEvents.spec.jsx.snap diff --git a/tests/js/spec/views/__snapshots__/groupMergedView.spec.jsx.snap b/tests/js/spec/views/groupDetails/__snapshots__/groupMergedView.spec.jsx.snap similarity index 100% rename from tests/js/spec/views/__snapshots__/groupMergedView.spec.jsx.snap rename to tests/js/spec/views/groupDetails/__snapshots__/groupMergedView.spec.jsx.snap diff --git a/tests/js/spec/views/__snapshots__/groupSimilarView.spec.jsx.snap b/tests/js/spec/views/groupDetails/__snapshots__/groupSimilarView.spec.jsx.snap similarity index 100% rename from tests/js/spec/views/__snapshots__/groupSimilarView.spec.jsx.snap rename to tests/js/spec/views/groupDetails/__snapshots__/groupSimilarView.spec.jsx.snap diff --git a/tests/js/spec/views/groupDetails/actions.spec.jsx b/tests/js/spec/views/groupDetails/actions.spec.jsx index fd1364c8e29e41..3734c1e8e5035f 100644 --- a/tests/js/spec/views/groupDetails/actions.spec.jsx +++ b/tests/js/spec/views/groupDetails/actions.spec.jsx @@ -1,7 +1,7 @@ import React from 'react'; import {shallow} from 'enzyme'; -import GroupActions from 'app/views/groupDetails/actions'; +import GroupActions from 'app/views/groupDetails/project/actions'; import ConfigStore from 'app/stores/configStore'; describe('GroupActions', function() { diff --git a/tests/js/spec/views/groupEvents.spec.jsx b/tests/js/spec/views/groupDetails/groupEvents.spec.jsx similarity index 97% rename from tests/js/spec/views/groupEvents.spec.jsx rename to tests/js/spec/views/groupDetails/groupEvents.spec.jsx index 9348f731b94213..946be5883de67c 100644 --- a/tests/js/spec/views/groupEvents.spec.jsx +++ b/tests/js/spec/views/groupDetails/groupEvents.spec.jsx @@ -3,7 +3,7 @@ import PropTypes from 'prop-types'; import {shallow} from 'enzyme'; import {browserHistory} from 'react-router'; -import {GroupEvents} from 'app/views/groupEvents'; +import {GroupEvents} from 'app/views/groupDetails/project/groupEvents'; describe('groupEvents', function() { beforeEach(function() { diff --git a/tests/js/spec/views/groupMergedView.spec.jsx b/tests/js/spec/views/groupDetails/groupMergedView.spec.jsx similarity index 93% rename from tests/js/spec/views/groupMergedView.spec.jsx rename to tests/js/spec/views/groupDetails/groupMergedView.spec.jsx index 8a67d0dd7e82c3..234b3966d46be5 100644 --- a/tests/js/spec/views/groupMergedView.spec.jsx +++ b/tests/js/spec/views/groupDetails/groupMergedView.spec.jsx @@ -3,9 +3,9 @@ import PropTypes from 'prop-types'; import {shallow} from 'enzyme'; -import GroupMergedView from 'app/views/groupMerged/groupMergedView'; +import GroupMergedView from 'app/views/groupDetails/project/groupMerged'; import {Client} from 'app/api'; -import events from '../../mocks/events'; +import events from 'app-test/mocks/events'; jest.mock('app/api'); jest.mock('app/mixins/projectState', () => { diff --git a/tests/js/spec/views/groupSimilarView.spec.jsx b/tests/js/spec/views/groupDetails/groupSimilarView.spec.jsx similarity index 95% rename from tests/js/spec/views/groupSimilarView.spec.jsx rename to tests/js/spec/views/groupDetails/groupSimilarView.spec.jsx index a14928cfbcaab5..e080a3e41ceab8 100644 --- a/tests/js/spec/views/groupSimilarView.spec.jsx +++ b/tests/js/spec/views/groupDetails/groupSimilarView.spec.jsx @@ -3,9 +3,9 @@ import {browserHistory} from 'react-router'; import React from 'react'; import {mount, shallow} from 'enzyme'; -import GroupSimilarView from 'app/views/groupSimilar/groupSimilarView'; +import GroupSimilarView from 'app/views/groupDetails/project/groupSimilar'; -import issues from '../../mocks/issues'; +import issues from 'app-test/mocks/issues'; jest.mock('app/mixins/projectState', () => { return { diff --git a/tests/js/spec/views/groupDetails/seenBy.spec.jsx b/tests/js/spec/views/groupDetails/seenBy.spec.jsx index 4cecb21a21dbe4..b0b828f456bc32 100644 --- a/tests/js/spec/views/groupDetails/seenBy.spec.jsx +++ b/tests/js/spec/views/groupDetails/seenBy.spec.jsx @@ -1,7 +1,7 @@ import React from 'react'; import {shallow} from 'enzyme'; -import GroupSeenBy from 'app/views/groupDetails/seenBy'; +import GroupSeenBy from 'app/views/groupDetails/project/seenBy'; import ConfigStore from 'app/stores/configStore'; describe('GroupSeenBy', function() {