From 0ea8dffbf3f4510c40354bbe488dabee62d6333b Mon Sep 17 00:00:00 2001 From: Bikram Choudhury Date: Wed, 31 Dec 2025 15:24:39 +0530 Subject: [PATCH] Squashed commit of the following: commit 8c67026760a8e870105b5b4ec7808797e95c65a0 Author: Bikram Choudhury Date: Tue Dec 30 18:26:10 2025 +0530 Refactor dropdown utilities and fix test helper functions commit fda6b59bc16717be91b7041ae4c20e5109f78f12 Author: Bikram Choudhury Date: Sun Dec 28 14:32:11 2025 +0530 Make DataExplorerRoot as an optional check commit 2ce91f1ef808f31b7907cc60ab19a5b2defa5458 Author: Bikram Choudhury Date: Sat Dec 13 18:16:53 2025 +0530 Add test infrastructure and data-test attributes for Container Copy e2e testing --- .github/workflows/ci.yml | 3 + src/Common/LoadingOverlay.tsx | 1 + .../LoadingOverlay.test.tsx.snap | 4 + .../AssignPermissions/AddManagedIdentity.tsx | 1 + .../AddReadPermissionToDefaultIdentity.tsx | 1 + .../AssignPermissions/AssignPermissions.tsx | 13 +- .../DefaultManagedIdentity.tsx | 1 + .../AssignPermissions/PointInTimeRestore.tsx | 2 + .../AddManagedIdentity.test.tsx.snap | 6 + ...dPermissionToDefaultIdentity.test.tsx.snap | 6 + .../AssignPermissions.test.tsx.snap | 42 ++ .../DefaultManagedIdentity.test.tsx.snap | 5 + .../PointInTimeRestore.test.tsx.snap | 5 + .../Screens/Components/NavigationControls.tsx | 18 +- .../Screens/Components/PopoverContainer.tsx | 1 + .../PopoverContainer.test.tsx.snap | 8 + .../Screens/CreateCopyJobScreens.tsx | 1 + .../Screens/PreviewCopyJob/PreviewCopyJob.tsx | 8 +- .../PreviewCopyJob.test.tsx.snap | 34 + .../Components/AccountDropdown.test.tsx | 27 +- .../Components/AccountDropdown.tsx | 14 +- .../SelectSourceAndTargetContainers.tsx | 8 +- .../DatabaseContainerSection.test.tsx | 6 + .../components/DatabaseContainerSection.tsx | 3 + .../DatabaseContainerSection.test.tsx.snap | 8 + .../Components/CopyJobActionMenu.tsx | 1 + .../Components/CopyJobsList.tsx | 1 + .../ContainerCopy/Types/CopyJobTypes.ts | 1 + test/README.md | 3 + test/fx.ts | 167 ++++- test/sql/containercopy.spec.ts | 677 ++++++++++++++++++ .../changePartitionKey.spec.ts | 8 +- test/testExplorer/TestExplorer.ts | 7 +- 33 files changed, 1051 insertions(+), 40 deletions(-) create mode 100644 test/sql/containercopy.spec.ts diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 284405b54..b5eec01cd 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -192,6 +192,9 @@ jobs: NOSQL_READONLY_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-readonly.documents.azure.com/.default" -o tsv --query accessToken) echo "::add-mask::$NOSQL_READONLY_TESTACCOUNT_TOKEN" echo NOSQL_READONLY_TESTACCOUNT_TOKEN=$NOSQL_READONLY_TESTACCOUNT_TOKEN >> $GITHUB_ENV + NOSQL_CONTAINERCOPY_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://github-e2etests-sql-containercopyonly.documents.azure.com/.default" -o tsv --query accessToken) + echo "::add-mask::$NOSQL_CONTAINERCOPY_TESTACCOUNT_TOKEN" + echo NOSQL_CONTAINERCOPY_TESTACCOUNT_TOKEN=$NOSQL_CONTAINERCOPY_TESTACCOUNT_TOKEN >> $GITHUB_ENV TABLE_TESTACCOUNT_TOKEN=$(az account get-access-token --scope "https://github-e2etests-tables.documents.azure.com/.default" -o tsv --query accessToken) echo "::add-mask::$TABLE_TESTACCOUNT_TOKEN" echo TABLE_TESTACCOUNT_TOKEN=$TABLE_TESTACCOUNT_TOKEN >> $GITHUB_ENV diff --git a/src/Common/LoadingOverlay.tsx b/src/Common/LoadingOverlay.tsx index 320576533..2cbf34213 100644 --- a/src/Common/LoadingOverlay.tsx +++ b/src/Common/LoadingOverlay.tsx @@ -13,6 +13,7 @@ const LoadingOverlay: React.FC = ({ isLoading, label }) => return (
= () => { = ({ id, title, Component, completed, disabled }) => ( - + {title} @@ -25,13 +25,13 @@ const PermissionSection: React.FC = ({ id, title, Compo height={completed ? 20 : 24} /> - + ); -const PermissionGroup: React.FC = ({ title, description, sections }) => { +const PermissionGroup: React.FC = ({ id, title, description, sections }) => { const [openItems, setOpenItems] = React.useState([]); useEffect(() => { @@ -44,6 +44,7 @@ const PermissionGroup: React.FC = ({ title, description, return ( { }, []); return ( - + {isSameAccount && copyJobState.migrationType === CopyJobMigrationType.Online ? ContainerCopyMessages.assignPermissions.intraAccountOnlineDescription( diff --git a/src/Explorer/ContainerCopy/CreateCopyJob/Screens/AssignPermissions/DefaultManagedIdentity.tsx b/src/Explorer/ContainerCopy/CreateCopyJob/Screens/AssignPermissions/DefaultManagedIdentity.tsx index 69e12e72e..3eeb60bbf 100644 --- a/src/Explorer/ContainerCopy/CreateCopyJob/Screens/AssignPermissions/DefaultManagedIdentity.tsx +++ b/src/Explorer/ContainerCopy/CreateCopyJob/Screens/AssignPermissions/DefaultManagedIdentity.tsx @@ -31,6 +31,7 @@ const DefaultManagedIdentity: React.FC = () => {
{ {showRefreshButton ? ( { /> ) : (
Incomplete Component @@ -142,6 +147,7 @@ exports[`AssignPermissions Component Accordion Behavior should render accordion
Incomplete Component @@ -339,6 +350,7 @@ exports[`AssignPermissions Component Edge Cases should calculate correct indent
Incomplete Component @@ -536,6 +553,7 @@ exports[`AssignPermissions Component Edge Cases should calculate correct indent
Incomplete Component @@ -733,6 +756,7 @@ exports[`AssignPermissions Component Edge Cases should handle missing account na
@@ -301,6 +305,7 @@ exports[`PointInTimeRestore Snapshots should match snapshot with refresh button