@@ -102,35 +102,42 @@ const createPlugin = (
102102 } ) ;
103103} ;
104104
105- describe ( 'PluginsService' , ( ) => {
106- beforeEach ( async ( ) => {
107- mockPackage . raw = {
108- branch : 'feature-v1' ,
109- version : 'v1' ,
110- build : {
111- distributable : true ,
112- number : 100 ,
113- sha : 'feature-v1-build-sha' ,
114- } ,
115- } ;
105+ async function testSetup ( options : { isDevClusterMaster ?: boolean } = { } ) {
106+ mockPackage . raw = {
107+ branch : 'feature-v1' ,
108+ version : 'v1' ,
109+ build : {
110+ distributable : true ,
111+ number : 100 ,
112+ sha : 'feature-v1-build-sha' ,
113+ } ,
114+ } ;
116115
117- coreId = Symbol ( 'core' ) ;
118- env = Env . createDefault ( REPO_ROOT , getEnvOptions ( ) ) ;
116+ coreId = Symbol ( 'core' ) ;
117+ env = Env . createDefault ( REPO_ROOT , {
118+ ...getEnvOptions ( ) ,
119+ isDevClusterMaster : options . isDevClusterMaster ?? false ,
120+ } ) ;
119121
120- config$ = new BehaviorSubject < Record < string , any > > ( { plugins : { initialize : true } } ) ;
121- const rawConfigService = rawConfigServiceMock . create ( { rawConfig$ : config$ } ) ;
122- configService = new ConfigService ( rawConfigService , env , logger ) ;
123- await configService . setSchema ( config . path , config . schema ) ;
124- pluginsService = new PluginsService ( { coreId, env, logger, configService } ) ;
122+ config$ = new BehaviorSubject < Record < string , any > > ( { plugins : { initialize : true } } ) ;
123+ const rawConfigService = rawConfigServiceMock . create ( { rawConfig$ : config$ } ) ;
124+ configService = new ConfigService ( rawConfigService , env , logger ) ;
125+ await configService . setSchema ( config . path , config . schema ) ;
126+ pluginsService = new PluginsService ( { coreId, env, logger, configService } ) ;
125127
126- [ mockPluginSystem ] = MockPluginsSystem . mock . instances as any ;
127- mockPluginSystem . uiPlugins . mockReturnValue ( new Map ( ) ) ;
128+ [ mockPluginSystem ] = MockPluginsSystem . mock . instances as any ;
129+ mockPluginSystem . uiPlugins . mockReturnValue ( new Map ( ) ) ;
128130
129- environmentSetup = environmentServiceMock . createSetupContract ( ) ;
130- } ) ;
131+ environmentSetup = environmentServiceMock . createSetupContract ( ) ;
132+ }
131133
132- afterEach ( ( ) => {
133- jest . clearAllMocks ( ) ;
134+ afterEach ( ( ) => {
135+ jest . clearAllMocks ( ) ;
136+ } ) ;
137+
138+ describe ( 'PluginsService' , ( ) => {
139+ beforeEach ( async ( ) => {
140+ await testSetup ( ) ;
134141 } ) ;
135142
136143 describe ( '#discover()' , ( ) => {
@@ -613,3 +620,29 @@ describe('PluginsService', () => {
613620 } ) ;
614621 } ) ;
615622} ) ;
623+
624+ describe ( 'PluginService when isDevClusterMaster is true' , ( ) => {
625+ beforeEach ( async ( ) => {
626+ await testSetup ( {
627+ isDevClusterMaster : true ,
628+ } ) ;
629+ } ) ;
630+
631+ describe ( '#discover()' , ( ) => {
632+ it ( 'does not try to run discovery' , async ( ) => {
633+ await expect ( pluginsService . discover ( { environment : environmentSetup } ) ) . resolves
634+ . toMatchInlineSnapshot ( `
635+ Object {
636+ "pluginTree": undefined,
637+ "uiPlugins": Object {
638+ "browserConfigs": Map {},
639+ "internal": Map {},
640+ "public": Map {},
641+ },
642+ }
643+ ` ) ;
644+
645+ expect ( mockDiscover ) . not . toHaveBeenCalled ( ) ;
646+ } ) ;
647+ } ) ;
648+ } ) ;
0 commit comments