@@ -8,6 +8,25 @@ import SearchForAPrescription from "@/pages/SearchPrescriptionPage"
88import { HERO_TEXT } from "@/constants/ui-strings/SearchForAPrescriptionStrings"
99import { AuthContext , AuthContextType } from "@/context/AuthProvider"
1010import { AccessContext } from "@/context/AccessProvider"
11+ import { SearchContext , SearchProviderContextType } from "@/context/SearchProvider"
12+ import { NavigationProvider } from "@/context/NavigationProvider"
13+
14+ // Mock the NavigationProvider's useNavigationContext hook
15+ const mockNavigationContext = {
16+ pushNavigation : jest . fn ( ) ,
17+ goBack : jest . fn ( ) ,
18+ getBackPath : jest . fn ( ) ,
19+ setOriginalSearchPage : jest . fn ( ) ,
20+ captureOriginalSearchParameters : jest . fn ( ) ,
21+ getOriginalSearchParameters : jest . fn ( ) ,
22+ getRelevantSearchParameters : jest . fn ( ) ,
23+ startNewNavigationSession : jest . fn ( )
24+ }
25+
26+ jest . mock ( "@/context/NavigationProvider" , ( ) => ( {
27+ ...jest . requireActual ( "@/context/NavigationProvider" ) ,
28+ useNavigationContext : ( ) => mockNavigationContext
29+ } ) )
1130
1231// Default mock values for contexts
1332const defaultAuthContext : AuthContextType = {
@@ -34,19 +53,51 @@ const defaultAuthContext: AuthContextType = {
3453 setIsSigningOut : jest . fn ( )
3554}
3655
56+ // Default mock values for SearchProvider
57+ const defaultSearchContext : SearchProviderContextType = {
58+ prescriptionId : undefined ,
59+ issueNumber : undefined ,
60+ firstName : undefined ,
61+ lastName : undefined ,
62+ dobDay : undefined ,
63+ dobMonth : undefined ,
64+ dobYear : undefined ,
65+ postcode : undefined ,
66+ nhsNumber : undefined ,
67+ searchType : undefined ,
68+ clearSearchParameters : jest . fn ( ) ,
69+ setPrescriptionId : jest . fn ( ) ,
70+ setIssueNumber : jest . fn ( ) ,
71+ setFirstName : jest . fn ( ) ,
72+ setLastName : jest . fn ( ) ,
73+ setDobDay : jest . fn ( ) ,
74+ setDobMonth : jest . fn ( ) ,
75+ setDobYear : jest . fn ( ) ,
76+ setPostcode : jest . fn ( ) ,
77+ setNhsNumber : jest . fn ( ) ,
78+ getAllSearchParameters : jest . fn ( ) ,
79+ setAllSearchParameters : jest . fn ( ) ,
80+ setSearchType : jest . fn ( )
81+ }
82+
3783// Utility function to render with all required providers
3884const renderWithProviders = (
3985 ui : React . ReactElement ,
4086 {
4187 authContext = defaultAuthContext ,
42- accessContext = null
88+ accessContext = null ,
89+ searchContext = defaultSearchContext
4390 } = { }
4491) => {
4592 return render (
4693 < MemoryRouter >
4794 < AuthContext . Provider value = { authContext } >
4895 < AccessContext . Provider value = { accessContext } >
49- { ui }
96+ < SearchContext . Provider value = { searchContext } >
97+ < NavigationProvider >
98+ { ui }
99+ </ NavigationProvider >
100+ </ SearchContext . Provider >
50101 </ AccessContext . Provider >
51102 </ AuthContext . Provider >
52103 </ MemoryRouter >
0 commit comments