@@ -136,6 +136,35 @@ describe('Plugins/Helpers', () => {
136
136
config . featureToggles . managedPluginsInstall = oldFeatureTogglesManagedPluginsInstall ;
137
137
config . pluginAdminExternalManageEnabled = oldPluginAdminExternalManageEnabled ;
138
138
} ) ;
139
+
140
+ test ( 'plugins should have update when instance version is different from remote version' , ( ) => {
141
+ const oldFeatureTogglesManagedPluginsInstall = config . featureToggles . managedPluginsInstall ;
142
+ const oldPluginAdminExternalManageEnabled = config . pluginAdminExternalManageEnabled ;
143
+
144
+ config . featureToggles . managedPluginsInstall = true ;
145
+ config . pluginAdminExternalManageEnabled = true ;
146
+
147
+ const pluginId = 'plugin-1' ;
148
+ const remotePlugin = getRemotePluginMock ( { slug : pluginId , version : '1.0.0' } ) ;
149
+ const instancePlugin = {
150
+ pluginSlug : pluginId ,
151
+ version : '0.0.9' ,
152
+ } ;
153
+
154
+ const merged = mergeLocalsAndRemotes ( {
155
+ local : [ ] ,
156
+ remote : [ remotePlugin ] ,
157
+ instance : [ instancePlugin ] ,
158
+ } ) ;
159
+ const findMerged = ( mergedId : string ) => merged . find ( ( { id } ) => id === mergedId ) ;
160
+
161
+ expect ( merged ) . toHaveLength ( 1 ) ;
162
+ expect ( findMerged ( pluginId ) ) . not . toBeUndefined ( ) ;
163
+ expect ( findMerged ( pluginId ) ?. hasUpdate ) . toBe ( true ) ;
164
+
165
+ config . featureToggles . managedPluginsInstall = oldFeatureTogglesManagedPluginsInstall ;
166
+ config . pluginAdminExternalManageEnabled = oldPluginAdminExternalManageEnabled ;
167
+ } ) ;
139
168
} ) ;
140
169
141
170
describe ( 'mergeLocalAndRemote()' , ( ) => {
0 commit comments