@@ -332,7 +332,11 @@ describe('All integrations', () => {
332
332
const formVariables = _ . get ( manifest , 'formVariables' , null ) ;
333
333
if ( formVariables ) {
334
334
formVariables . forEach ( formVariable => {
335
- if ( formVariable . isOptional ) {
335
+ if (
336
+ formVariable . isOptional &&
337
+ formVariable . type !== 'multiselect' &&
338
+ formVariable . type !== 'environmentSelector'
339
+ ) {
336
340
expect (
337
341
formVariable . defaultValue ,
338
342
'"isOptional" is only valid if "defaultValue" is provided.'
@@ -343,6 +347,56 @@ describe('All integrations', () => {
343
347
}
344
348
) ;
345
349
350
+ test . each ( manifests ) (
351
+ 'unrelated properties are not set on multiselect formVariables for %s' ,
352
+ ( key , manifest ) => {
353
+ const formVariables = _ . get ( manifest , 'formVariables' , null ) ;
354
+ if ( formVariables ) {
355
+ formVariables . forEach ( formVariable => {
356
+ if ( formVariable . type === 'multiselect' ) {
357
+ expect ( formVariable . defaultValue ) . not . toBeDefined ( ) ;
358
+ expect ( formVariable . dynamicOptions ) . not . toBeDefined ( ) ;
359
+ expect ( formVariable . allowedValues ) . not . toBeDefined ( ) ;
360
+ expect ( formVariable . isSecret ) . not . toBeDefined ( ) ;
361
+ }
362
+ } ) ;
363
+ }
364
+ }
365
+ ) ;
366
+
367
+ test . each ( manifests ) (
368
+ 'multiselectOptions is always provided when type is multiselect for %s' ,
369
+ ( key , manifest ) => {
370
+ const formVariables = _ . get ( manifest , 'formVariables' , null ) ;
371
+ if ( formVariables ) {
372
+ formVariables . forEach ( formVariable => {
373
+ if ( formVariable . type === 'multiselect' ) {
374
+ expect ( formVariable . multiselectOptions ) . toBeDefined ( ) ;
375
+ }
376
+ } ) ;
377
+ }
378
+ }
379
+ ) ;
380
+
381
+ test . each ( manifests ) (
382
+ 'unrelated properties are not set on environmentSelector formVariables for %s' ,
383
+ ( key , manifest ) => {
384
+ const formVariables = _ . get ( manifest , 'formVariables' , null ) ;
385
+ if ( formVariables ) {
386
+ formVariables . forEach ( formVariable => {
387
+ if ( formVariable . type === 'environmentSelector' ) {
388
+ expect ( formVariable . multiselectOptions ) . not . toBeDefined ( ) ;
389
+ expect ( formVariable . multiselectDefaultOptions ) . not . toBeDefined ( ) ;
390
+ expect ( formVariable . defaultValue ) . not . toBeDefined ( ) ;
391
+ expect ( formVariable . dynamicOptions ) . not . toBeDefined ( ) ;
392
+ expect ( formVariable . allowedValues ) . not . toBeDefined ( ) ;
393
+ expect ( formVariable . isSecret ) . not . toBeDefined ( ) ;
394
+ }
395
+ } ) ;
396
+ }
397
+ }
398
+ ) ;
399
+
346
400
test . each ( manifests ) (
347
401
'no non-string formVariables have been set to isSecret for %s' ,
348
402
( key , manifest ) => {
0 commit comments