fix: only show course blocks in the search modal (#1148)

This commit is contained in:
Rômulo Penido
2024-07-10 14:29:55 +02:00
committed by GitHub
parent f60ddb579e
commit 71fcf9f168
2 changed files with 11 additions and 3 deletions

View File

@@ -175,7 +175,8 @@ describe('<SearchUI />', () => {
expect(fetchMock).toHaveLastFetched((_url, req) => {
const requestData = JSON.parse(req.body?.toString() ?? '');
const requestedFilter = requestData?.queries[0].filter;
return requestedFilter?.[0] === 'context_key = "course-v1:org+test+123"';
return requestedFilter?.[0] === 'type = "course_block"'
&& requestedFilter?.[1] === 'context_key = "course-v1:org+test+123"';
});
// Now we should see the results:
expect(queryByText('Enter a keyword')).toBeNull();
@@ -398,7 +399,8 @@ describe('<SearchUI />', () => {
expect(fetchMock).toHaveLastFetched((_url, req) => {
const requestData = JSON.parse(req.body?.toString() ?? '');
const requestedFilter = requestData?.queries[0].filter;
return (requestedFilter?.length === 1); // the filter is: 'context_key = "course-v1:org+test+123"'
// the filter is: ['type = "course_block"', 'context_key = "course-v1:org+test+123"']
return (requestedFilter?.length === 2);
});
// Now we should see the results:
expect(getByText('6 results found')).toBeInTheDocument();
@@ -423,6 +425,7 @@ describe('<SearchUI />', () => {
const requestData = JSON.parse(req.body?.toString() ?? '');
const requestedFilter = requestData?.queries[0].filter;
return JSON.stringify(requestedFilter) === JSON.stringify([
'type = "course_block"',
'context_key = "course-v1:org+test+123"',
['block_type = problem'], // <-- the newly added filter, sent with the request
]);
@@ -448,6 +451,7 @@ describe('<SearchUI />', () => {
const requestData = JSON.parse(req.body?.toString() ?? '');
const requestedFilter = requestData?.queries?.[0]?.filter;
return JSON.stringify(requestedFilter) === JSON.stringify([
'type = "course_block"',
'context_key = "course-v1:org+test+123"',
'tags.taxonomy = "ESDC Skills and Competencies"', // <-- the newly added filter, sent with the request
]);
@@ -481,6 +485,7 @@ describe('<SearchUI />', () => {
const requestData = JSON.parse(req.body?.toString() ?? '');
const requestedFilter = requestData?.queries?.[0]?.filter;
return JSON.stringify(requestedFilter) === JSON.stringify([
'type = "course_block"',
'context_key = "course-v1:org+test+123"',
'tags.level0 = "ESDC Skills and Competencies > Abilities"',
]);

View File

@@ -27,7 +27,10 @@ const SearchUI: React.FC<{ courseId?: string, closeSearchModal?: () => void }> =
return (
<SearchContextProvider
extraFilter={searchThisCourse ? `context_key = "${props.courseId}"` : undefined}
extraFilter={[
'type = "course_block"',
...(searchThisCourse ? [`context_key = "${props.courseId}"`] : []),
]}
closeSearchModal={props.closeSearchModal}
>
{/* We need to override z-index here or the <Dropdown.Menu> appears behind the <ModalDialog.Body>