@@ -632,3 +632,38 @@ func TestWorkspaceBuildStatus(t *testing.T) {
632
632
require .NoError (t , err )
633
633
require .EqualValues (t , codersdk .WorkspaceStatusDeleted , workspace .LatestBuild .Status )
634
634
}
635
+
636
+ func TestWorkspaceBuildWithRichParameters (t * testing.T ) {
637
+ t .Parallel ()
638
+
639
+ client := coderdtest .New (t , & coderdtest.Options {IncludeProvisionerDaemon : true })
640
+ user := coderdtest .CreateFirstUser (t , client )
641
+ version := coderdtest .CreateTemplateVersion (t , client , user .OrganizationID , nil )
642
+ template := coderdtest .CreateTemplate (t , client , user .OrganizationID , version .ID )
643
+ coderdtest .AwaitTemplateVersionJob (t , client , version .ID )
644
+
645
+ expected := []codersdk.WorkspaceBuildParameter {
646
+ {
647
+ Name : "first_parameter" ,
648
+ Value : "1" ,
649
+ }, {
650
+ Name : "second_parameter" ,
651
+ Value : "2" ,
652
+ },
653
+ }
654
+
655
+ workspace := coderdtest .CreateWorkspace (t , client , user .OrganizationID , template .ID , func (cwr * codersdk.CreateWorkspaceRequest ) {
656
+ cwr .RichParameterValues = expected
657
+ })
658
+
659
+ ctx , cancel := context .WithTimeout (context .Background (), testutil .WaitLong )
660
+ defer cancel ()
661
+
662
+ _ , err := client .WorkspaceBuild (ctx , workspace .LatestBuild .ID )
663
+ require .NoError (t , err )
664
+
665
+ richParameters , err := client .TemplateVersionRichParameters (ctx , version .ID )
666
+ require .NoError (t , err )
667
+ require .Len (t , richParameters , 2 )
668
+ require .ElementsMatch (t , expected , richParameters )
669
+ }
0 commit comments