Skip to content

Commit

Permalink
[WOR-1482] Move remainder of Workspaces-owned code out of src/pages/w…
Browse files Browse the repository at this point in the history
…orkspaces (#4626)
  • Loading branch information
cahrens authored Feb 2, 2024
1 parent 8f9e8ef commit 56307b9
Show file tree
Hide file tree
Showing 41 changed files with 75 additions and 79 deletions.
3 changes: 0 additions & 3 deletions .github/CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -20,9 +20,6 @@
/src/pages/LandingPage* @DataBiosphere/terra-cobranding
/src/pages/billing/ @DataBiosphere/broadworkspaces-terra-ui
/src/pages/workspaces/* @DataBiosphere/broadworkspaces-terra-ui
/src/pages/workspaces/migration/* @DataBiosphere/broadworkspaces-terra-ui
/src/pages/workspaces/workspace/*Dashboard* @DataBiosphere/broadworkspaces-terra-ui
/src/pages/workspaces/workspace/*Workspace* @DataBiosphere/broadworkspaces-terra-ui
/src/components/*Workspace* @DataBiosphere/broadworkspaces-terra-ui
/src/components/workspace-utils* @DataBiosphere/broadworkspaces-terra-ui
/src/workflows-app/ @DataBiosphere/broad-workflow-management @DataBiosphere/broad-workflow-execution
Expand Down
4 changes: 2 additions & 2 deletions src/libs/routes.js
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,14 @@ import * as UploadData from 'src/pages/UploadDataPage';
import * as WorkflowsList from 'src/pages/workflows/List';
import * as WorkflowDetails from 'src/pages/workflows/workflow/WorkflowDetails';
import * as WorkspaceList from 'src/pages/workspaces/List';
import * as WorkspaceMigration from 'src/pages/workspaces/migration/WorkspaceMigration';
import * as Dashboard from 'src/pages/workspaces/workspace/Dashboard/Dashboard';
import * as WorkspaceFiles from 'src/pages/workspaces/workspace/Files';
import * as JobHistory from 'src/pages/workspaces/workspace/JobHistory';
import * as SubmissionDetails from 'src/pages/workspaces/workspace/jobHistory/SubmissionDetails';
import * as WorkflowDashboard from 'src/pages/workspaces/workspace/jobHistory/WorkflowDashboard';
import * as Workflows from 'src/pages/workspaces/workspace/Workflows';
import * as WorkflowView from 'src/pages/workspaces/workspace/workflows/WorkflowView';
import * as Dashboard from 'src/pages/workspaces/WorkspaceDashboard';
import * as WorkspaceMigration from 'src/pages/workspaces/WorkspaceMigration';
import * as PrivacyPolicy from 'src/registration/privacy-policy/PrivacyPolicy';
import * as TermsOfService from 'src/registration/terms-of-service/TermsOfServicePage';
import * as WorkflowsApp from 'src/workflows-app/routes';
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,12 +4,9 @@ import React from 'react';
import { act } from 'react-dom/test-utils';
import { Ajax } from 'src/libs/ajax';
import { AuthState, authStore } from 'src/libs/state';
import { DashboardAuthContainer } from 'src/pages/workspaces/workspace/Dashboard/DashboardAuthContainer';
import {
WorkspaceDashboardPage,
WorkspaceDashboardPageProps,
} from 'src/pages/workspaces/workspace/Dashboard/WorkspaceDashboardPage';
import { DashboardAuthContainer } from 'src/pages/workspaces/DashboardAuthContainer';
import { asMockedFn, renderWithAppContexts as render } from 'src/testing/test-utils';
import { WorkspaceDashboardPage, WorkspaceDashboardPageProps } from 'src/workspaces/dashboard/WorkspaceDashboardPage';

type AjaxContract = ReturnType<typeof Ajax>;

Expand All @@ -31,9 +28,9 @@ jest.mock('src/libs/nav', (): typeof import('src/libs/nav') => ({
getLink: jest.fn(),
}));

type DashboardPageExports = typeof import('src/pages/workspaces/workspace/Dashboard/WorkspaceDashboardPage');
type DashboardPageExports = typeof import('src/workspaces/dashboard/WorkspaceDashboardPage');
jest.mock(
'src/pages/workspaces/workspace/Dashboard/WorkspaceDashboardPage',
'src/workspaces/dashboard/WorkspaceDashboardPage',
() =>
({
WorkspaceDashboardPage: jest.fn(),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,8 +6,8 @@ import { Ajax } from 'src/libs/ajax';
import { useStore } from 'src/libs/react-utils';
import { authStore } from 'src/libs/state';
import SignIn from 'src/pages/SignIn';
import { WorkspaceDashboardPage } from 'src/pages/workspaces/workspace/Dashboard/WorkspaceDashboardPage';
import DashboardPublic from 'src/pages/workspaces/workspace/DashboardPublic';
import DashboardPublic from 'src/pages/workspaces/DashboardPublic';
import { WorkspaceDashboardPage } from 'src/workspaces/dashboard/WorkspaceDashboardPage';

export interface DashboardAuthContainerProps {
namespace: string;
Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { DashboardAuthContainer } from 'src/pages/workspaces/workspace/Dashboard/DashboardAuthContainer';
import { DashboardAuthContainer } from 'src/pages/workspaces/DashboardAuthContainer';

export const navPaths = [
{
Expand Down
25 changes: 25 additions & 0 deletions src/pages/workspaces/WorkspaceMigration.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
import { div, h } from 'react-hyperscript-helpers';
import FooterWrapper from 'src/components/FooterWrapper';
import TopBar from 'src/components/TopBar';
import * as Nav from 'src/libs/nav';
import { BillingProjectList } from 'src/workspaces/migration/BillingProjectList';
import { MigrationInformation } from 'src/workspaces/migration/WorkspaceInformation';

const WorkspaceMigrationPage = () => {
return h(FooterWrapper, [
h(TopBar, { title: 'Workspace Multi-Region Bucket Migrations', href: Nav.getLink('workspace-migration') }, []),
div({ role: 'main', style: { display: 'flex', flex: '1 1 auto', flexFlow: 'column' } }, [
h(MigrationInformation, {}),
h(BillingProjectList, {}),
]),
]);
};

export const navPaths = [
{
name: 'workspace-migration',
path: '/workspace-migration',
component: WorkspaceMigrationPage,
title: 'Workspace Migration',
},
];
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,9 @@ import { axe } from 'jest-axe';
import _ from 'lodash/fp';
import { dl, h } from 'react-hyperscript-helpers';
import { azureRegions } from 'src/libs/azure-regions';
import { AzureStorageDetails } from 'src/pages/workspaces/workspace/Dashboard/AzureStorageDetails';
import { renderWithAppContexts as render } from 'src/testing/test-utils';
import { defaultAzureStorageOptions, defaultGoogleBucketOptions } from 'src/testing/workspace-fixtures';
import { AzureStorageDetails } from 'src/workspaces/dashboard/AzureStorageDetails';

describe('AzureStorageDetails', () => {
const azureContext = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ import { TooltipCell } from 'src/components/table';
import { ReactComponent as AzureLogo } from 'src/images/azure.svg';
import { getRegionFlag, getRegionLabel } from 'src/libs/azure-utils';
import { AzureContext } from 'src/libs/workspace-utils';
import { InfoRow } from 'src/pages/workspaces/workspace/Dashboard/InfoRow';
import { StorageDetails } from 'src/workspaces/common/state/useWorkspace';
import { InfoRow } from 'src/workspaces/dashboard/InfoRow';

interface AzureStorageDetailsProps {
azureContext: AzureContext;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ import { h } from 'react-hyperscript-helpers';
import { Ajax } from 'src/libs/ajax';
import Events, { extractWorkspaceDetails } from 'src/libs/events';
import { GoogleWorkspace } from 'src/libs/workspace-utils';
import { BucketLocation } from 'src/pages/workspaces/workspace/Dashboard/BucketLocation';
import { renderWithAppContexts as render } from 'src/testing/test-utils';
import {
defaultAzureStorageOptions,
defaultGoogleBucketOptions,
defaultGoogleWorkspace,
mockBucketRequesterPaysError,
} from 'src/testing/workspace-fixtures';
import { BucketLocation } from 'src/workspaces/dashboard/BucketLocation';

type AjaxContract = ReturnType<typeof Ajax>;

Expand Down
File renamed without changes.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ import { asMockedFn } from '@terra-ui-packages/test-utils';
import { act, screen } from '@testing-library/react';
import { h } from 'react-hyperscript-helpers';
import { Ajax } from 'src/libs/ajax';
import { CloudInformation } from 'src/pages/workspaces/workspace/Dashboard/CloudInformation';
import { renderWithAppContexts as render } from 'src/testing/test-utils';
import {
defaultAzureStorageOptions,
Expand All @@ -12,6 +11,7 @@ import {
defaultGoogleWorkspace,
} from 'src/testing/workspace-fixtures';
import { StorageDetails } from 'src/workspaces/common/state/useWorkspace';
import { CloudInformation } from 'src/workspaces/dashboard/CloudInformation';

type AjaxContract = ReturnType<typeof Ajax>;
type AjaxExports = typeof import('src/libs/ajax');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -19,10 +19,10 @@ import {
isAzureWorkspace,
isGoogleWorkspace,
} from 'src/libs/workspace-utils';
import { AzureStorageDetails } from 'src/pages/workspaces/workspace/Dashboard/AzureStorageDetails';
import { BucketLocation } from 'src/pages/workspaces/workspace/Dashboard/BucketLocation';
import { InfoRow } from 'src/pages/workspaces/workspace/Dashboard/InfoRow';
import { InitializedWorkspaceWrapper as Workspace, StorageDetails } from 'src/workspaces/common/state/useWorkspace';
import { AzureStorageDetails } from 'src/workspaces/dashboard/AzureStorageDetails';
import { BucketLocation } from 'src/workspaces/dashboard/BucketLocation';
import { InfoRow } from 'src/workspaces/dashboard/InfoRow';

interface CloudInformationProps {
storageDetails: StorageDetails;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import { displayAttributeValue } from 'src/pages/workspaces/workspace/Dashboard/DatasetAttributes';
import { displayAttributeValue } from 'src/workspaces/dashboard/DatasetAttributes';

describe('displayAttributeValue', () => {
it('should join array elements with comma', () => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import { SimpleTable } from 'src/components/table';
import * as Style from 'src/libs/style';
import { append } from 'src/libs/utils';
import { WorkspaceInfo } from 'src/libs/workspace-utils';
import { displayConsentCodes, displayLibraryAttributes } from 'src/pages/workspaces/workspace/library-attributes';
import { displayConsentCodes, displayLibraryAttributes } from 'src/workspaces/dashboard/library-attributes';

interface DatasetAttributesProps {
attributes: WorkspaceInfo['attributes'];
Expand Down
File renamed without changes.
File renamed without changes.
File renamed without changes.
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
import { screen } from '@testing-library/react';
import React from 'react';
import { WorkspaceDashboard } from 'src/pages/workspaces/workspace/Dashboard/WorkspaceDashboard';
import { renderWithAppContexts as render } from 'src/testing/test-utils';
import { defaultGoogleBucketOptions, defaultGoogleWorkspace } from 'src/testing/workspace-fixtures';
import { InitializedWorkspaceWrapper as Workspace, StorageDetails } from 'src/workspaces/common/state/useWorkspace';
import { WorkspaceDashboard } from 'src/workspaces/dashboard/WorkspaceDashboard';

describe('WorkspaceDashboard', () => {
const storageDetails: StorageDetails = {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,16 +4,16 @@ import { forwardRef, ReactNode } from 'react';
import { div, h } from 'react-hyperscript-helpers';
import * as Style from 'src/libs/style';
import { canEditWorkspace, isGoogleWorkspace } from 'src/libs/workspace-utils';
import { AuthDomainPanel } from 'src/pages/workspaces/workspace/Dashboard/AuthDomainPanel';
import { CloudInformation } from 'src/pages/workspaces/workspace/Dashboard/CloudInformation';
import { DatasetAttributes } from 'src/pages/workspaces/workspace/Dashboard/DatasetAttributes';
import { OwnerNotice } from 'src/pages/workspaces/workspace/Dashboard/OwnerNotice';
import { RightBoxSection } from 'src/pages/workspaces/workspace/Dashboard/RightBoxSection';
import { WorkspaceDescription } from 'src/pages/workspaces/workspace/Dashboard/WorkspaceDescription';
import { WorkspaceInformation } from 'src/pages/workspaces/workspace/Dashboard/WorkspaceInformation';
import { WorkspaceNotifications } from 'src/pages/workspaces/workspace/Dashboard/WorkspaceNotifications';
import { WorkspaceTags } from 'src/pages/workspaces/workspace/Dashboard/WorkspaceTags';
import { InitializedWorkspaceWrapper as Workspace, StorageDetails } from 'src/workspaces/common/state/useWorkspace';
import { AuthDomainPanel } from 'src/workspaces/dashboard/AuthDomainPanel';
import { CloudInformation } from 'src/workspaces/dashboard/CloudInformation';
import { DatasetAttributes } from 'src/workspaces/dashboard/DatasetAttributes';
import { OwnerNotice } from 'src/workspaces/dashboard/OwnerNotice';
import { RightBoxSection } from 'src/workspaces/dashboard/RightBoxSection';
import { WorkspaceDescription } from 'src/workspaces/dashboard/WorkspaceDescription';
import { WorkspaceInformation } from 'src/workspaces/dashboard/WorkspaceInformation';
import { WorkspaceNotifications } from 'src/workspaces/dashboard/WorkspaceNotifications';
import { WorkspaceTags } from 'src/workspaces/dashboard/WorkspaceTags';

export interface WorkspaceDashboardProps {
namespace: string;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
import { ReactNode } from 'react';
import * as breadcrumbs from 'src/components/breadcrumbs';
import { WorkspaceDashboard } from 'src/pages/workspaces/workspace/Dashboard/WorkspaceDashboard';
import { wrapWorkspace } from 'src/workspaces/container/WorkspaceContainer';
import { WorkspaceDashboard } from 'src/workspaces/dashboard/WorkspaceDashboard';

export interface WorkspaceDashboardPageProps {
namespace: string;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,9 @@ import { MarkdownEditor } from 'src/components/markdown';
import { Ajax } from 'src/libs/ajax';
import Events, { extractWorkspaceDetails } from 'src/libs/events';
import { canEditWorkspace } from 'src/libs/workspace-utils';
import { WorkspaceDescription } from 'src/pages/workspaces/workspace/Dashboard/WorkspaceDescription';
import { asMockedFn, renderWithAppContexts as render } from 'src/testing/test-utils';
import { defaultGoogleWorkspace } from 'src/testing/workspace-fixtures';
import { WorkspaceDescription } from 'src/workspaces/dashboard/WorkspaceDescription';

jest.mock('src/libs/error');

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,6 @@ import { axe } from 'jest-axe';
import { h } from 'react-hyperscript-helpers';
import { azureRegions } from 'src/libs/azure-regions';
import { WorkspacePolicy } from 'src/libs/workspace-utils';
import { WorkspaceInformation } from 'src/pages/workspaces/workspace/Dashboard/WorkspaceInformation';
import { renderWithAppContexts as render } from 'src/testing/test-utils';
import {
defaultAzureWorkspace,
Expand All @@ -13,6 +12,7 @@ import {
protectedGoogleWorkspace,
regionRestrictedAzureWorkspace,
} from 'src/testing/workspace-fixtures';
import { WorkspaceInformation } from 'src/workspaces/dashboard/WorkspaceInformation';

jest.mock('src/libs/ajax');

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,8 @@ import _ from 'lodash/fp';
import { ReactNode } from 'react';
import { dl, h } from 'react-hyperscript-helpers';
import { getPolicyDescriptions } from 'src/libs/workspace-utils';
import { InfoRow } from 'src/pages/workspaces/workspace/Dashboard/InfoRow';
import { InitializedWorkspaceWrapper as Workspace } from 'src/workspaces/common/state/useWorkspace';
import { InfoRow } from 'src/workspaces/dashboard/InfoRow';

const roleString = {
READER: 'Reader',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ import { axe } from 'jest-axe';
import { h } from 'react-hyperscript-helpers';
import { Ajax } from 'src/libs/ajax';
import { userStore } from 'src/libs/state';
import { WorkspaceNotifications } from 'src/pages/workspaces/workspace/Dashboard/WorkspaceNotifications';
import { renderWithAppContexts as render } from 'src/testing/test-utils';
import { defaultGoogleWorkspace } from 'src/testing/workspace-fixtures';
import { WorkspaceNotifications } from 'src/workspaces/dashboard/WorkspaceNotifications';

type AjaxContract = ReturnType<typeof Ajax>;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,9 @@ import userEvent from '@testing-library/user-event';
import { h } from 'react-hyperscript-helpers';
import { Ajax } from 'src/libs/ajax';
import Events, { extractWorkspaceDetails } from 'src/libs/events';
import { WorkspaceTags } from 'src/pages/workspaces/workspace/Dashboard/WorkspaceTags';
import { asMockedFn, renderWithAppContexts as render } from 'src/testing/test-utils';
import { defaultGoogleWorkspace } from 'src/testing/workspace-fixtures';
import { WorkspaceTags } from 'src/workspaces/dashboard/WorkspaceTags';

type AjaxContract = ReturnType<typeof Ajax>;
type AjaxExports = typeof import('src/libs/ajax');
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,8 @@ import { withErrorReporting } from 'src/libs/error';
import Events, { extractWorkspaceDetails } from 'src/libs/events';
import * as Style from 'src/libs/style';
import { withBusyState } from 'src/libs/utils';
import { RightBoxSection } from 'src/pages/workspaces/workspace/Dashboard/RightBoxSection';
import { InitializedWorkspaceWrapper as Workspace } from 'src/workspaces/common/state/useWorkspace';
import { RightBoxSection } from 'src/workspaces/dashboard/RightBoxSection';

const styles: Record<string, CSSProperties> = {
authDomain: {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ import { abandonedPromise } from '@terra-ui-packages/core-utils';
import { act, screen, within } from '@testing-library/react';
import { h } from 'react-hyperscript-helpers';
import { Ajax } from 'src/libs/ajax';
import { BillingProjectList, inProgressRefreshRate } from 'src/pages/workspaces/migration/BillingProjectList';
import { mockServerData } from 'src/pages/workspaces/migration/migration-utils.test';
import { asMockedFn, renderWithAppContexts as render } from 'src/testing/test-utils';
import { BillingProjectList, inProgressRefreshRate } from 'src/workspaces/migration/BillingProjectList';
import { mockServerData } from 'src/workspaces/migration/migration-utils.test';

type AjaxContract = ReturnType<typeof Ajax>;
type AjaxWorkspacesContract = AjaxContract['Workspaces'];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,14 +7,14 @@ import colors from 'src/libs/colors';
import { reportErrorAndRethrow, withErrorIgnoring } from 'src/libs/error';
import { useCancellation, useGetter } from 'src/libs/react-utils';
import * as Utils from 'src/libs/utils';
import { BillingProjectParent } from 'src/pages/workspaces/migration/BillingProjectParent';
import { BillingProjectParent } from 'src/workspaces/migration/BillingProjectParent';
import {
BillingProjectMigrationInfo,
mergeBillingProjectMigrationInfo,
mergeWorkspacesWithNamespaces,
parseServerResponse,
WorkspaceWithNamespace,
} from 'src/pages/workspaces/migration/migration-utils';
} from 'src/workspaces/migration/migration-utils';

export const inProgressRefreshRate = 10000;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,14 @@ import userEvent from '@testing-library/user-event';
import { axe } from 'jest-axe';
import { div, h } from 'react-hyperscript-helpers';
import { Ajax } from 'src/libs/ajax';
import { BillingProjectParent } from 'src/pages/workspaces/migration/BillingProjectParent';
import { WorkspaceMigrationInfo } from 'src/pages/workspaces/migration/migration-utils';
import { asMockedFn, renderWithAppContexts as render } from 'src/testing/test-utils';
import { BillingProjectParent } from 'src/workspaces/migration/BillingProjectParent';
import { WorkspaceMigrationInfo } from 'src/workspaces/migration/migration-utils';
import {
bpWithFailed,
bpWithInProgress,
bpWithSucceededAndUnscheduled,
} from 'src/pages/workspaces/migration/migration-utils.test';
import { asMockedFn, renderWithAppContexts as render } from 'src/testing/test-utils';
} from 'src/workspaces/migration/migration-utils.test';

type AjaxContract = ReturnType<typeof Ajax>;
type AjaxWorkspacesContract = AjaxContract['Workspaces'];
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ import {
inProgressIcon,
successIcon,
WorkspaceWithNamespace,
} from 'src/pages/workspaces/migration/migration-utils';
import { WorkspaceItem } from 'src/pages/workspaces/migration/WorkspaceItem';
} from 'src/workspaces/migration/migration-utils';
import { WorkspaceItem } from 'src/workspaces/migration/WorkspaceItem';
import { useMemo } from 'use-memo-one';

interface MigrateAllConfirmationProps {
Expand Down
Loading

0 comments on commit 56307b9

Please sign in to comment.