1010
1111import * as dataUtils from 'docc-render/utils/data' ;
1212import { shallowMount } from '@vue/test-utils' ;
13+ import { getSetting } from 'docc-render/utils/theme-settings' ;
1314import DocumentationTopic from 'docc-render/views/DocumentationTopic.vue' ;
1415import DocumentationTopicStore from 'docc-render/stores/DocumentationTopicStore' ;
1516import onPageLoadScrollToFragment from 'docc-render/mixins/onPageLoadScrollToFragment' ;
@@ -23,6 +24,14 @@ jest.mock('docc-render/mixins/onPageLoadScrollToFragment');
2324jest . mock ( 'docc-render/utils/FocusTrap' ) ;
2425jest . mock ( 'docc-render/utils/changeElementVOVisibility' ) ;
2526jest . mock ( 'docc-render/utils/scroll-lock' ) ;
27+ jest . mock ( 'docc-render/utils/theme-settings' ) ;
28+
29+ const defaultGetSetting = ( _ , fallback ) => fallback ;
30+ const getSettingWithNavigatorEnabled = ( settingKeyPath , fallback ) => (
31+ ( settingKeyPath . join ( '.' ) === 'features.docs.navigator.enable' ) || fallback
32+ ) ;
33+
34+ getSetting . mockImplementation ( defaultGetSetting ) ;
2635
2736const TechnologyWithChildren = {
2837 path : 'path/to/foo' ,
@@ -130,7 +139,9 @@ describe('DocumentationTopic', () => {
130139 expect ( codeTheme . isEmpty ( ) ) . toBe ( true ) ;
131140 } ) ;
132141
133- it ( 'renders the Navigator and AdjustableSidebarWidth' , async ( ) => {
142+ it ( 'renders the Navigator and AdjustableSidebarWidth when enabled' , async ( ) => {
143+ getSetting . mockImplementation ( getSettingWithNavigatorEnabled ) ;
144+
134145 wrapper . setData ( { topicData } ) ;
135146 expect ( wrapper . find ( AdjustableSidebarWidth ) . props ( ) ) . toEqual ( {
136147 openExternally : false ,
@@ -160,6 +171,8 @@ describe('DocumentationTopic', () => {
160171 references : topicData . references ,
161172 technology : TechnologyWithChildren ,
162173 } ) ;
174+
175+ getSetting . mockReset ( ) ;
163176 } ) ;
164177
165178 it ( 'renders a `Nav` component' , ( ) => {
@@ -186,6 +199,8 @@ describe('DocumentationTopic', () => {
186199 } ) ;
187200
188201 it ( 'handles the `@close`, on Navigator' , async ( ) => {
202+ getSetting . mockImplementation ( getSettingWithNavigatorEnabled ) ;
203+
189204 wrapper . setData ( { topicData } ) ;
190205 await flushPromises ( ) ;
191206 const nav = wrapper . find ( Nav ) ;
@@ -195,6 +210,8 @@ describe('DocumentationTopic', () => {
195210 await flushPromises ( ) ;
196211 wrapper . find ( Navigator ) . vm . $emit ( 'close' ) ;
197212 expect ( sidebar . props ( 'openExternally' ) ) . toBe ( false ) ;
213+
214+ getSetting . mockReset ( ) ;
198215 } ) ;
199216
200217 it ( 'renders a `Topic` with `topicData`' , ( ) => {
0 commit comments