Skip to content

chore: dismiss invalid files message #6196

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 5 commits into
base: main
Choose a base branch
from
Open
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
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ export function UploadViewProvider({
onTaskRemove,
onSelectFiles,
onToggleOverwrite,
onDismissFilesValidationMessage,
} = props;

const isActionStartDisabled =
Expand All @@ -60,7 +61,10 @@ export function UploadViewProvider({
: undefined;
const filesValidationMessage =
invalidFiles && !isProcessing
? getFilesValidationMessage({ invalidFiles })
? {
...getFilesValidationMessage({ invalidFiles }),
onDismiss: onDismissFilesValidationMessage,
}
: undefined;

return (
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@ const onActionExit = jest.fn();
const onDropFiles = jest.fn();
const onSelectFiles = jest.fn();
const onToggleOverwrite = jest.fn();
const onDismissFilesValidationMessage = jest.fn();

const callbacks = {
onActionCancel,
Expand All @@ -39,6 +40,7 @@ const callbacks = {
onActionExit,
onSelectFiles,
onToggleOverwrite,
onDismissFilesValidationMessage,
};

const statusCounts = { ...INITIAL_STATUS_COUNTS };
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -136,6 +136,24 @@ describe('useUploadView', () => {
});

it('should call handleProcessTasks with the expected values', () => {
mockUserStoreState.files = [invalidFileItem];
const { result } = renderHook(() => useUploadView());
act(() => {
result.current.onActionStart();
});
expect(handleProcessTasks).toHaveBeenCalledTimes(1);
expect(handleProcessTasks).toHaveBeenCalledWith({
config: {
bucket: rootLocation.bucket,
credentials,
region: 'region',
},
options: { preventOverwrite: true },
destinationPrefix: '',
});
});

it('should remove any invalid files action is started', () => {
mockUserStoreState.files = [invalidFileItem];
const { result } = renderHook(() => useUploadView());
act(() => {
Expand All @@ -148,20 +166,16 @@ describe('useUploadView', () => {
});
});

it('should remove any invalid files action is started', () => {
it('should remove any invalid files when files validation message is dismissed', () => {
mockUserStoreState.files = [invalidFileItem];
const { result } = renderHook(() => useUploadView());
act(() => {
result.current.onActionStart();
result.current.onDismissFilesValidationMessage();
});
expect(handleProcessTasks).toHaveBeenCalledTimes(1);
expect(handleProcessTasks).toHaveBeenCalledWith({
config: {
bucket: rootLocation.bucket,
credentials,
region: 'region',
},
options: { preventOverwrite: true },
destinationPrefix: '',
expect(dispatchStoreAction).toHaveBeenCalledTimes(1);
expect(dispatchStoreAction).toHaveBeenCalledWith({
type: 'REMOVE_FILE_ITEM',
id: invalidFileItem.id,
});
});

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,11 @@ import { ActionViewType, ActionViewProps, ActionViewState } from '../types';

export interface UploadViewState extends ActionViewState<FileItem> {
isOverwritingEnabled: boolean;
invalidFiles: FileItems | undefined;
onDropFiles: (files: File[]) => void;
onSelectFiles: (type: 'FILE' | 'FOLDER') => void;
onToggleOverwrite: () => void;
invalidFiles: FileItems | undefined;
onDismissFilesValidationMessage: () => void;
}

export interface UploadViewProps
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -71,10 +71,14 @@ export const useUploadView = (
[dispatchStoreAction]
);

const onActionStart = React.useCallback(() => {
const onDismissFilesValidationMessage = React.useCallback(() => {
invalidFiles?.forEach((file) => {
dispatchStoreAction({ type: 'REMOVE_FILE_ITEM', id: file.id });
});
}, [invalidFiles, dispatchStoreAction]);

const onActionStart = React.useCallback(() => {
onDismissFilesValidationMessage();

handleProcess({
config: getInput(),
Expand All @@ -86,8 +90,7 @@ export const useUploadView = (
key,
getInput,
handleProcess,
invalidFiles,
dispatchStoreAction,
onDismissFilesValidationMessage,
]);

const onActionCancel = React.useCallback(() => {
Expand Down Expand Up @@ -128,5 +131,6 @@ export const useUploadView = (
onTaskRemove,
onSelectFiles,
onToggleOverwrite,
onDismissFilesValidationMessage,
};
};
Original file line number Diff line number Diff line change
Expand Up @@ -198,6 +198,10 @@

&__message {
flex: 1;

&-dismiss {
margin-left: auto;
}
}

&__buttons {
Expand Down
Loading