@@ -391,6 +391,31 @@ func TestCreateWithRichParameters(t *testing.T) {
391
391
}
392
392
<- doneChan
393
393
})
394
+
395
+ t .Run ("WrongParameterName/DidYouMean" , func (t * testing.T ) {
396
+ t .Parallel ()
397
+
398
+ client := coderdtest .New (t , & coderdtest.Options {IncludeProvisionerDaemon : true })
399
+ owner := coderdtest .CreateFirstUser (t , client )
400
+ member , _ := coderdtest .CreateAnotherUser (t , client , owner .OrganizationID )
401
+ version := coderdtest .CreateTemplateVersion (t , client , owner .OrganizationID , echoResponses )
402
+ coderdtest .AwaitTemplateVersionJobCompleted (t , client , version .ID )
403
+
404
+ template := coderdtest .CreateTemplate (t , client , owner .OrganizationID , version .ID )
405
+
406
+ wrongFirstParameterName := "frst-prameter"
407
+ inv , root := clitest .New (t , "create" , "my-workspace" , "--template" , template .Name ,
408
+ "--parameter" , fmt .Sprintf ("%s=%s" , wrongFirstParameterName , firstParameterValue ),
409
+ "--parameter" , fmt .Sprintf ("%s=%s" , secondParameterName , secondParameterValue ),
410
+ "--parameter" , fmt .Sprintf ("%s=%s" , immutableParameterName , immutableParameterValue ))
411
+ clitest .SetupConfig (t , member , root )
412
+ pty := ptytest .New (t ).Attach (inv )
413
+ inv .Stdout = pty .Output ()
414
+ inv .Stderr = pty .Output ()
415
+ err := inv .Run ()
416
+ assert .ErrorContains (t , err , "parameter \" " + wrongFirstParameterName + "\" is not present in the template" )
417
+ assert .ErrorContains (t , err , "Did you mean: " + firstParameterName )
418
+ })
394
419
}
395
420
396
421
func TestCreateValidateRichParameters (t * testing.T ) {
0 commit comments