fix: filter overwritten by sort (#702)

This commit is contained in:
Kristin Aoki
2023-11-20 14:06:36 -05:00
committed by GitHub
parent a62c53eb00
commit 9b053de0b7
5 changed files with 39 additions and 11 deletions

View File

@@ -300,7 +300,11 @@ describe('FilesAndUploads', () => {
const sortNameAscendingButton = screen.getByText(messages.sortByNameAscending.defaultMessage);
fireEvent.click(sortNameAscendingButton);
fireEvent.click(screen.getByText(messages.applySortButton.defaultMessage));
await waitFor(() => {
fireEvent.click(screen.getByText(messages.applySortButton.defaultMessage));
});
expect(screen.queryByText(messages.sortModalTitleLabel.defaultMessage)).toBeNull();
});
@@ -317,7 +321,11 @@ describe('FilesAndUploads', () => {
const sortBySizeDescendingButton = screen.getByText(messages.sortBySizeDescending.defaultMessage);
fireEvent.click(sortBySizeDescendingButton);
fireEvent.click(screen.getByText(messages.applySortButton.defaultMessage));
await waitFor(() => {
fireEvent.click(screen.getByText(messages.applySortButton.defaultMessage));
});
expect(screen.queryByText(messages.sortModalTitleLabel.defaultMessage)).toBeNull();
});
});

View File

@@ -44,11 +44,10 @@ const SortAndFilterModal = ({
remove(e.target.value);
}
};
const handleApply = () => {
closeSort();
handleSort(sortBy);
const handleApply = async () => {
await handleSort(sortBy);
processFilters(filterBy, columns, setAllFilters);
closeSort();
};
const handleClearAll = () => {

View File

@@ -148,9 +148,14 @@ const VideosPage = ({
const processingStatusColumn = {
id: 'status',
Header: '',
accessor: 'status',
Cell: ({ row }) => StatusColumn({ row }),
Filter: CheckboxFilter,
filterChoices: [{ name: intl.formatMessage(messages.processingCheckboxLabel), value: 'Processing' }],
filterChoices: [
{ name: intl.formatMessage(messages.processingCheckboxLabel), value: 'Processing' },
{ name: intl.formatMessage(messages.failedCheckboxLabel), value: 'Failed' },
],
};
const videoThumbnailColumn = {
id: 'courseVideoImageUrl',

View File

@@ -351,7 +351,10 @@ describe('FilesAndUploads', () => {
it('should be enabled and sort files by name', async () => {
const sortNameAscendingButton = screen.getByText(messages.sortByNameAscending.defaultMessage);
fireEvent.click(sortNameAscendingButton);
fireEvent.click(screen.getByText(messages.applySortButton.defaultMessage));
await waitFor(() => {
fireEvent.click(screen.getByText(messages.applySortButton.defaultMessage));
});
expect(screen.queryByText(messages.sortModalTitleLabel.defaultMessage)).toBeNull();
});
@@ -359,7 +362,10 @@ describe('FilesAndUploads', () => {
it('sort button should be enabled and sort files by file size', async () => {
const sortBySizeDescendingButton = screen.getByText(messages.sortBySizeDescending.defaultMessage);
fireEvent.click(sortBySizeDescendingButton);
fireEvent.click(screen.getByText(messages.applySortButton.defaultMessage));
await waitFor(() => {
fireEvent.click(screen.getByText(messages.applySortButton.defaultMessage));
});
expect(screen.queryByText(messages.sortModalTitleLabel.defaultMessage)).toBeNull();
});
@@ -374,7 +380,10 @@ describe('FilesAndUploads', () => {
fireEvent.click(transcribedCheckboxFilter);
fireEvent.click(notTranscribedCheckboxFilter);
fireEvent.click(transcribedCheckboxFilter);
fireEvent.click(screen.getByText(messages.applySortButton.defaultMessage));
await waitFor(() => {
fireEvent.click(screen.getByText(messages.applySortButton.defaultMessage));
});
const galleryCards = screen.getAllByTestId('grid-card', { exact: false });
@@ -406,7 +415,10 @@ describe('FilesAndUploads', () => {
it('should remove Transcribed filter chip', async () => {
const transcribedCheckboxFilter = screen.getByText(videoMessages.transcribedCheckboxLabel.defaultMessage);
fireEvent.click(transcribedCheckboxFilter);
fireEvent.click(screen.getByText(messages.applySortButton.defaultMessage));
await waitFor(() => {
fireEvent.click(screen.getByText(messages.applySortButton.defaultMessage));
});
const imageFilterChip = screen.getByTestId('icon-after');
fireEvent.click(imageFilterChip);

View File

@@ -33,6 +33,10 @@ const messages = defineMessages({
id: 'course-authoring.files-and-videos.sort-and-filter.modal.filter.processingCheckbox.label',
defaultMessage: 'Processing',
},
failedCheckboxLabel: {
id: 'course-authoring.files-and-videos.sort-and-filter.modal.filter.failedCheckbox.label',
defaultMessage: 'Failed',
},
});
export default messages;