diff --git a/public/js/app/hooks/__tests__/useSemesterRoundState.test.js b/public/js/app/hooks/__tests__/useSemesterRoundState.test.js index c919478f..50d6142a 100644 --- a/public/js/app/hooks/__tests__/useSemesterRoundState.test.js +++ b/public/js/app/hooks/__tests__/useSemesterRoundState.test.js @@ -408,6 +408,20 @@ describe('useSemesterRoundsLogic', () => { expect(result.current.hasSyllabus).toBe(false) }) + test('if selectedSemester is undefined, sets the latest syllabus as activeSyllabus', () => { + const { result } = renderHook(() => + useSemesterRoundState({ + initiallySelectedRoundIndex: undefined, + initiallySelectedSemester: undefined, + roundsBySemester, + syllabusList, + activeSemesters, + }) + ) + + expect(result.current.activeSyllabus).toEqual(syllabusList[0]) + }) + test('calling resetSelectedRoundIndex resets round values', async () => { const { result } = renderHook(() => useSemesterRoundState({ diff --git a/public/js/app/hooks/useSemesterRoundState.js b/public/js/app/hooks/useSemesterRoundState.js index 037bb2e9..601decad 100644 --- a/public/js/app/hooks/useSemesterRoundState.js +++ b/public/js/app/hooks/useSemesterRoundState.js @@ -64,10 +64,11 @@ const useSemesterRoundState = ({ const hasActiveSemesters = useMemo(() => activeSemesters && activeSemesters.length > 0, [activeSemesters]) - const activeSyllabus = useMemo( - () => getValidSyllabusForSemester(syllabusList, selectedSemester), - [syllabusList, selectedSemester] - ) + const activeSyllabus = useMemo(() => { + if (!selectedSemester) return getElementOrEmpty(syllabusList, 0) + + return getValidSyllabusForSemester(syllabusList, selectedSemester) + }, [syllabusList, selectedSemester]) const hasSyllabus = useMemo( () => syllabusList && syllabusList.length > 0 && activeSyllabus !== undefined,