@@ -107,3 +107,33 @@ func checkTeamBean(t *testing.T, id int64, name, description string, permission
107
107
assert .NoError (t , team .GetUnits (), "GetUnits" )
108
108
checkTeamResponse (t , convert .ToTeam (team ), name , description , permission , units )
109
109
}
110
+
111
+ type TeamSearchResults struct {
112
+ OK bool `json:"ok"`
113
+ Data []* api.Team `json:"data"`
114
+ }
115
+
116
+ func TestAPITeamSearch (t * testing.T ) {
117
+ prepareTestEnv (t )
118
+
119
+ teamUser := models .AssertExistsAndLoadBean (t , & models.TeamUser {}).(* models.TeamUser )
120
+ user := models .AssertExistsAndLoadBean (t , & models.User {ID : teamUser .UID }).(* models.User )
121
+ org := models .AssertExistsAndLoadBean (t , & models.User {ID : 3 }).(* models.User )
122
+
123
+ var results TeamSearchResults
124
+
125
+ session := loginUser (t , user .Name )
126
+ req := NewRequestf (t , "GET" , "/api/v1/orgs/%s/teams/search?q=%s" , org .Name , "_team" )
127
+ resp := session .MakeRequest (t , req , http .StatusOK )
128
+ DecodeJSON (t , resp , & results )
129
+ assert .NotEmpty (t , results .Data )
130
+ assert .Equal (t , 1 , len (results .Data ))
131
+ assert .Equal (t , "test_team" , results .Data [0 ].Name )
132
+
133
+ // no access if not organization member
134
+ user5 := models .AssertExistsAndLoadBean (t , & models.User {ID : 5 }).(* models.User )
135
+ session = loginUser (t , user5 .Name )
136
+ req = NewRequestf (t , "GET" , "/api/v1/orgs/%s/teams/search?q=%s" , org .Name , "team" )
137
+ resp = session .MakeRequest (t , req , http .StatusForbidden )
138
+
139
+ }
0 commit comments