@@ -814,6 +814,46 @@ func TestTemplatesByOrganization(t *testing.T) {
814
814
require .False (t , templates [0 ].Deprecated )
815
815
require .Empty (t , templates [0 ].DeprecationMessage )
816
816
})
817
+
818
+ t .Run ("ListByAuthor" , func (t * testing.T ) {
819
+ t .Parallel ()
820
+ client := coderdtest .New (t , nil )
821
+ owner := coderdtest .CreateFirstUser (t , client )
822
+ adminAlpha , adminAlphaData := coderdtest .CreateAnotherUser (t , client , owner .OrganizationID , rbac .RoleTemplateAdmin ())
823
+ adminBravo , adminBravoData := coderdtest .CreateAnotherUser (t , client , owner .OrganizationID , rbac .RoleTemplateAdmin ())
824
+ adminCharlie , _ := coderdtest .CreateAnotherUser (t , client , owner .OrganizationID , rbac .RoleTemplateAdmin ())
825
+
826
+ versionA := coderdtest .CreateTemplateVersion (t , client , owner .OrganizationID , nil )
827
+ versionB := coderdtest .CreateTemplateVersion (t , client , owner .OrganizationID , nil )
828
+ versionC := coderdtest .CreateTemplateVersion (t , client , owner .OrganizationID , nil )
829
+ foo := coderdtest .CreateTemplate (t , adminAlpha , owner .OrganizationID , versionA .ID , func (request * codersdk.CreateTemplateRequest ) {
830
+ request .Name = "foo"
831
+ })
832
+ bar := coderdtest .CreateTemplate (t , adminBravo , owner .OrganizationID , versionB .ID , func (request * codersdk.CreateTemplateRequest ) {
833
+ request .Name = "bar"
834
+ })
835
+ _ = coderdtest .CreateTemplate (t , adminCharlie , owner .OrganizationID , versionC .ID , func (request * codersdk.CreateTemplateRequest ) {
836
+ request .Name = "baz"
837
+ })
838
+
839
+ ctx := testutil .Context (t , testutil .WaitLong )
840
+
841
+ // List alpha
842
+ alpha , err := client .Templates (ctx , codersdk.TemplateFilter {
843
+ AuthorUsername : adminAlphaData .Username ,
844
+ })
845
+ require .NoError (t , err )
846
+ require .Len (t , alpha , 1 )
847
+ require .Equal (t , foo .ID , alpha [0 ].ID )
848
+
849
+ // List bravo
850
+ bravo , err := client .Templates (ctx , codersdk.TemplateFilter {
851
+ AuthorUsername : adminBravoData .Username ,
852
+ })
853
+ require .NoError (t , err )
854
+ require .Len (t , bravo , 1 )
855
+ require .Equal (t , bar .ID , bravo [0 ].ID )
856
+ })
817
857
}
818
858
819
859
func TestTemplateByOrganizationAndName (t * testing.T ) {
0 commit comments