@@ -298,50 +298,14 @@ func Test_Extract(t *testing.T) {
298298 "valid_parameter_name" : ap ().
299299 optVals ("valid_option_value" ),
300300 },
301- presetsFuncs : func (t * testing.T , presets []types.Preset ) {
302- presetMap := map [string ]func (t * testing.T , preset types.Preset ){
303- "empty_parameters" : func (t * testing.T , preset types.Preset ) {
304- require .Len (t , preset .Diagnostics , 0 )
305- },
306- "no_parameters" : func (t * testing.T , preset types.Preset ) {
307- require .Len (t , preset .Diagnostics , 0 )
308- },
309- "invalid_parameter_name" : func (t * testing.T , preset types.Preset ) {
310- require .Len (t , preset .Diagnostics , 1 )
311- require .Equal (t , preset .Diagnostics [0 ].Summary , "Undefined Parameter" )
312- require .Equal (t , preset .Diagnostics [0 ].Detail , "Preset parameter \" invalid_parameter_name\" is not defined by the template." )
313- },
314- "invalid_parameter_value" : func (t * testing.T , preset types.Preset ) {
315- require .Len (t , preset .Diagnostics , 1 )
316- require .Equal (t , preset .Diagnostics [0 ].Summary , "Value must be a valid option" )
317- require .Equal (t , preset .Diagnostics [0 ].Detail , "the value \" invalid_value\" must be defined as one of options" )
318- },
319- "valid_preset" : func (t * testing.T , preset types.Preset ) {
320- require .Len (t , preset .Diagnostics , 0 )
321- require .Equal (t , preset .Parameters , map [string ]string {
322- "valid_parameter_name" : "valid_option_value" ,
323- })
324- },
325- }
326-
327- for _ , preset := range presets {
328- if fn , ok := presetMap [preset .Name ]; ok {
329- fn (t , preset )
330- }
331- }
332-
333- var defaultPresetsWithError int
334- for _ , preset := range presets {
335- if preset .Name == "default_preset" || preset .Name == "another_default_preset" {
336- for _ , diag := range preset .Diagnostics {
337- if diag .Summary == "Multiple default presets" {
338- defaultPresetsWithError ++
339- break
340- }
341- }
342- }
343- }
344- require .Equal (t , 1 , defaultPresetsWithError , "exactly one default preset should have the multiple defaults error" )
301+ presets : map [string ]assertPreset {
302+ "empty_parameters" : aPre (),
303+ "no_parameters" : aPre (),
304+ "invalid_parameter_name" : aPreWithDiags ().errorDiagnostics ("Preset parameter \" invalid_parameter_name\" is not defined by the template." ),
305+ "invalid_parameter_value" : aPreWithDiags ().errorDiagnostics ("the value \" invalid_value\" must be defined as one of options" ),
306+ "valid_preset" : aPre ().value ("valid_parameter_name" , "valid_option_value" ),
307+ "another_default_preset" : aPre ().def (true ),
308+ "default_preset" : aPreWithDiags ().errorDiagnostics ("Only one preset can be marked as default. \" another_default_preset\" is already marked as default" ),
345309 },
346310 },
347311 {
@@ -709,17 +673,8 @@ func Test_Extract(t *testing.T) {
709673 check (t , param )
710674 }
711675
712- // Assert presets
713- if tc .presetsFuncs != nil {
714- tc .presetsFuncs (t , output .Presets )
715- }
716-
717676 for _ , preset := range output .Presets {
718677 check , ok := tc .presets [preset .Name ]
719- if ! ok && tc .presetsFuncs != nil {
720- // TODO: Convert presetsFunc to presets
721- continue
722- }
723678 require .True (t , ok , "unknown preset %s" , preset .Name )
724679 check (t , preset )
725680 }
0 commit comments