Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion devops-pipelines/templates/ui-build-and-deploy-stages.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ stages:
VITE_CLIENT_ID: $(VITE_CLIENT_ID)
VITE_TENANT_ID: $(VITE_TENANT_ID)
VITE_PRIVATE_BETA_USER_GROUP: $(VITE_PRIVATE_BETA_USER_GROUP)
VITE_PRIVATE_BETA_USER_GROUP2: $(VITE_PRIVATE_BETA_USER_GROUP2)
VITE_PRIVATE_BETA_FEATURE_USER_GROUP2: $(VITE_PRIVATE_BETA_FEATURE_USER_GROUP2)
VITE_PRIVATE_BETA_CONTACT_EMAIL: $(VITE_PRIVATE_BETA_CONTACT_EMAIL)
VITE_FEATURE_FLAG_TRANSFER_MOVE: $(VITE_FEATURE_FLAG_TRANSFER_MOVE)
VITE_FEATURE_FLAG_GLOBAL_NAV: $(VITE_FEATURE_FLAG_GLOBAL_NAV)
Expand Down
1 change: 1 addition & 0 deletions ui-spa/.env.playwright
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ VITE_MOCK_AUTH="true"
VITE_FEATURE_FLAG_CASE_DETAILS=false
VITE_FEATURE_FLAG_TRANSFER_MOVE=true
VITE_FEATURE_FLAG_DISCONNECT_SHARED_DRIVE=true
VITE_PRIVATE_BETA_FEATURE_USER_GROUP2=test-group-id
VITE_FEATURE_FLAG_GLOBAL_NAV=false
VITE_FEATURE_FLAG_TRANSFER_MATERIALS_V1=false
VITE_GLOBAL_NAV_SCRIPT_URL=
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -468,7 +468,7 @@ test.describe("transfer material egress netapp transfer", () => {
const transferMaterialsSourcePage = new TransferMaterialsSourcePage(page);
await transferMaterialsSourcePage.verifyPageElements();
await transferMaterialsSourcePage.verifyEgressTransferSourceElements();
await transferMaterialsSourcePage.verifyMoveBtnEnabled(false);
await transferMaterialsSourcePage.verifyMoveBtnHidden();
});

test("Should show the egress connection error screen, if user who does not have access to egress come to the application when there is an active transfer Id", async ({
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
import { render, screen } from "@testing-library/react";
import userEvent from "@testing-library/user-event";
import { describe, it, vi, expect } from "vitest";
import TransferControls from "./TransferControls";

describe("TransferControls", () => {
const defaultProps = {
transferSource: "egress" as const,
disableControls: false,
toggleTransferDirection: vi.fn(),
onCopy: vi.fn(),
};

it("renders the Move button when transferSource is egress and onMove is provided", () => {
const onMove = vi.fn();
render(<TransferControls {...defaultProps} onMove={onMove} />);

expect(screen.getByText("Move selected")).toBeInTheDocument();
});

it("does not render the Move button when transferSource is egress but onMove is undefined", () => {
render(<TransferControls {...defaultProps} onMove={undefined} />);

expect(screen.queryByText("Move selected")).not.toBeInTheDocument();
});

it("does not render the Move button when transferSource is netapp even if onMove is provided", () => {
const onMove = vi.fn();
render(
<TransferControls
{...defaultProps}
transferSource="netapp"
onMove={onMove}
/>,
);

expect(screen.queryByText("Move selected")).not.toBeInTheDocument();
});

it("calls onMove when the Move button is clicked", () => {
const onMove = vi.fn();
render(<TransferControls {...defaultProps} onMove={onMove} />);

userEvent.click(screen.getByText("Move selected"));
expect(onMove).toHaveBeenCalledTimes(1);
});

it("disables the Move button when disableControls is true", () => {
const onMove = vi.fn();
render(
<TransferControls {...defaultProps} disableControls={true} onMove={onMove} />,
);

expect(screen.getByText("Move selected")).toBeDisabled();
});

it("always renders the Copy button", () => {
render(<TransferControls {...defaultProps} />);

expect(screen.getByText("Copy selected")).toBeInTheDocument();
});

it("calls onCopy when the Copy button is clicked", () => {
render(<TransferControls {...defaultProps} />);

userEvent.click(screen.getByText("Copy selected"));
expect(defaultProps.onCopy).toHaveBeenCalledTimes(1);
});

it("shows View Shared Drive link when transferSource is egress", () => {
render(<TransferControls {...defaultProps} />);

expect(screen.getByText("View Shared Drive")).toBeInTheDocument();
});

it("shows View Egress link when transferSource is netapp", () => {
render(<TransferControls {...defaultProps} transferSource="netapp" />);

expect(screen.getByText("View Egress")).toBeInTheDocument();
});

it("calls toggleTransferDirection when the direction link is clicked", () => {
render(<TransferControls {...defaultProps} />);

userEvent.click(screen.getByTestId("toggle-transfer-direction"));
expect(defaultProps.toggleTransferDirection).toHaveBeenCalledTimes(1);
});
});
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ const TransferControls = ({
>
Copy selected
</Button>
{transferSource === "egress" && (
{transferSource === "egress" && onMove && (
<Button
className="govuk-button--secondary"
onClick={onMove}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -798,7 +798,11 @@ const TransferMaterialsV1Page: React.FC<TransferMaterialsV1PageProps> = ({
toggleTransferDirection={toggleTransferDirection}
disableControls={!selectedSourceFoldersOrFiles.length}
onCopy={() => handleTransferAction("copy")}
onMove={() => handleTransferAction("move")}
onMove={
featureFlags?.transferMove
? () => handleTransferAction("move")
: undefined
}
/>
{featureFlags?.disconnectSharedDrive && (
<Button
Expand Down Expand Up @@ -839,7 +843,11 @@ const TransferMaterialsV1Page: React.FC<TransferMaterialsV1PageProps> = ({
toggleTransferDirection={toggleTransferDirection}
disableControls={!selectedSourceFoldersOrFiles.length}
onCopy={() => handleTransferAction("copy")}
onMove={() => handleTransferAction("move")}
onMove={
featureFlags?.transferMove
? () => handleTransferAction("move")
: undefined
}
/>
</div>
</div>
Expand Down
Loading