Skip to content

Commit 19c15bb

Browse files
committed
Add tests and fix result of collaborative filter in specific condition
1 parent 62076a3 commit 19c15bb

File tree

8 files changed

+261
-51
lines changed

8 files changed

+261
-51
lines changed

integrations/api_repo_test.go

Lines changed: 13 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,9 @@ func TestAPISearchRepo(t *testing.T) {
7373
expectedResults
7474
}{
7575
{name: "RepositoriesMax50", requestURL: "/api/v1/repos/search?limit=50", expectedResults: expectedResults{
76-
nil: {count: 12, privacy: privacyTypePublic},
77-
user: {count: 12, privacy: privacyTypePublic},
78-
user2: {count: 12, privacy: privacyTypePublic}},
76+
nil: {count: 15, privacy: privacyTypePublic},
77+
user: {count: 15, privacy: privacyTypePublic},
78+
user2: {count: 15, privacy: privacyTypePublic}},
7979
},
8080
{name: "RepositoriesMax10", requestURL: "/api/v1/repos/search?limit=10", expectedResults: expectedResults{
8181
nil: {count: 10, privacy: privacyTypePublic},
@@ -88,24 +88,24 @@ func TestAPISearchRepo(t *testing.T) {
8888
user2: {count: 10, privacy: privacyTypePublic}},
8989
},
9090
{name: "RepositoriesByName", requestURL: fmt.Sprintf("/api/v1/repos/search?q=%s", "big_test_"), expectedResults: expectedResults{
91-
nil: {count: 4, repoName: "big_test_", privacy: privacyTypePublic},
92-
user: {count: 4, repoName: "big_test_", privacy: privacyTypePublic},
93-
user2: {count: 4, repoName: "big_test_", privacy: privacyTypePublic}},
91+
nil: {count: 7, repoName: "big_test_", privacy: privacyTypePublic},
92+
user: {count: 7, repoName: "big_test_", privacy: privacyTypePublic},
93+
user2: {count: 7, repoName: "big_test_", privacy: privacyTypePublic}},
9494
},
95-
{name: "RepositoriesAccessibleAndRelatedToUser", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d", user.ID), expectedResults: expectedResults{
96-
nil: {count: 4, privacy: privacyTypePublic},
97-
user: {count: 8},
98-
user2: {count: 4, privacy: privacyTypePublic}},
95+
{name: "RepositoriesAccessibleAndRelatedToUser", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d&limit=50", user.ID), expectedResults: expectedResults{
96+
nil: {count: 7, privacy: privacyTypePublic},
97+
user: {count: 14},
98+
user2: {count: 7, privacy: privacyTypePublic}},
9999
},
100100
{name: "RepositoriesAccessibleAndRelatedToUser2", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d", user2.ID), expectedResults: expectedResults{
101101
nil: {count: 1, privacy: privacyTypePublic},
102102
user: {count: 1, privacy: privacyTypePublic},
103103
user2: {count: 2}},
104104
},
105105
{name: "RepositoriesOwnedByOrganization", requestURL: fmt.Sprintf("/api/v1/repos/search?uid=%d", orgUser.ID), expectedResults: expectedResults{
106-
nil: {count: 1, repoOwnerID: orgUser.ID, privacy: privacyTypePublic},
107-
user: {count: 2, repoOwnerID: orgUser.ID},
108-
user2: {count: 1, repoOwnerID: orgUser.ID, privacy: privacyTypePublic}},
106+
nil: {count: 2, repoOwnerID: orgUser.ID, privacy: privacyTypePublic},
107+
user: {count: 4, repoOwnerID: orgUser.ID},
108+
user2: {count: 2, repoOwnerID: orgUser.ID, privacy: privacyTypePublic}},
109109
},
110110
}
111111

models/fixtures/access.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,4 +38,15 @@
3838
id: 7
3939
user_id: 15
4040
repo_id: 24
41+
mode: 4 # owner
42+
-
43+
id: 8
44+
user_id: 15
45+
repo_id: 27
46+
mode: 4 # owner
47+
48+
-
49+
id: 9
50+
user_id: 15
51+
repo_id: 28
4152
mode: 4 # owner

models/fixtures/repository.yml

Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,7 @@
201201
num_closed_pulls: 0
202202
num_watches: 0
203203
is_mirror: false
204+
is_fork: false
204205

205206
-
206207
id: 18
@@ -213,6 +214,7 @@
213214
num_pulls: 0
214215
num_closed_pulls: 0
215216
is_mirror: false
217+
is_fork: false
216218

217219
-
218220
id: 19
@@ -225,6 +227,7 @@
225227
num_pulls: 0
226228
num_closed_pulls: 0
227229
is_mirror: false
230+
is_fork: false
228231

229232
-
230233
id: 20
@@ -237,6 +240,7 @@
237240
num_pulls: 0
238241
num_closed_pulls: 0
239242
is_mirror: false
243+
is_fork: false
240244

241245
-
242246
id: 21
@@ -249,6 +253,7 @@
249253
num_pulls: 0
250254
num_closed_pulls: 0
251255
is_mirror: false
256+
is_fork: false
252257

253258
-
254259
id: 22
@@ -261,6 +266,7 @@
261266
num_pulls: 0
262267
num_closed_pulls: 0
263268
is_mirror: false
269+
is_fork: false
264270

265271
-
266272
id: 23
@@ -273,6 +279,7 @@
273279
num_pulls: 0
274280
num_closed_pulls: 0
275281
is_mirror: false
282+
is_fork: false
276283

277284
-
278285
id: 24
@@ -285,3 +292,90 @@
285292
num_pulls: 0
286293
num_closed_pulls: 0
287294
is_mirror: false
295+
is_fork: false
296+
297+
-
298+
id: 25
299+
owner_id: 15
300+
lower_name: big_test_public_mirror_5
301+
name: big_test_public_mirror_5
302+
is_private: false
303+
num_issues: 0
304+
num_closed_issues: 0
305+
num_pulls: 0
306+
num_closed_pulls: 0
307+
num_watches: 0
308+
is_mirror: true
309+
is_fork: false
310+
311+
-
312+
id: 26
313+
owner_id: 15
314+
lower_name: big_test_private_mirror_5
315+
name: big_test_private_mirror_5
316+
is_private: true
317+
num_issues: 0
318+
num_closed_issues: 0
319+
num_pulls: 0
320+
num_closed_pulls: 0
321+
num_watches: 0
322+
is_mirror: true
323+
is_fork: false
324+
325+
-
326+
id: 27
327+
owner_id: 17
328+
lower_name: big_test_public_mirror_6
329+
name: big_test_public_mirror_6
330+
is_private: false
331+
num_issues: 0
332+
num_closed_issues: 0
333+
num_pulls: 0
334+
num_closed_pulls: 0
335+
num_watches: 0
336+
is_mirror: true
337+
num_forks: 1
338+
is_fork: false
339+
340+
-
341+
id: 28
342+
owner_id: 17
343+
lower_name: big_test_private_mirror_6
344+
name: big_test_private_mirror_6
345+
is_private: true
346+
num_issues: 0
347+
num_closed_issues: 0
348+
num_pulls: 0
349+
num_closed_pulls: 0
350+
num_watches: 0
351+
is_mirror: true
352+
num_forks: 1
353+
is_fork: false
354+
355+
-
356+
id: 29
357+
fork_id: 27
358+
owner_id: 15
359+
lower_name: big_test_public_fork_7
360+
name: big_test_public_fork_7
361+
is_private: false
362+
num_issues: 0
363+
num_closed_issues: 0
364+
num_pulls: 0
365+
num_closed_pulls: 0
366+
is_mirror: false
367+
is_fork: true
368+
369+
-
370+
id: 30
371+
fork_id: 28
372+
owner_id: 15
373+
lower_name: big_test_private_fork_7
374+
name: big_test_private_fork_7
375+
is_private: true
376+
num_issues: 0
377+
num_closed_issues: 0
378+
num_pulls: 0
379+
num_closed_pulls: 0
380+
is_mirror: false
381+
is_fork: true

models/fixtures/team.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,6 @@
4343
lower_name: owners
4444
name: Owners
4545
authorize: 4 # owner
46-
num_repos: 2
46+
num_repos: 4
4747
num_members: 1
4848
unit_types: '[1,2,3,4,5,6,7]'

models/fixtures/team_repo.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,16 @@
2626
id: 5
2727
org_id: 17
2828
team_id: 5
29-
repo_id: 24
29+
repo_id: 24
30+
31+
-
32+
id: 6
33+
org_id: 17
34+
team_id: 5
35+
repo_id: 27
36+
37+
-
38+
id: 7
39+
org_id: 17
40+
team_id: 5
41+
repo_id: 28

models/fixtures/user.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -231,7 +231,7 @@
231231
is_admin: false
232232
avatar: avatar15
233233
avatar_email: [email protected]
234-
num_repos: 4
234+
num_repos: 8
235235
is_active: true
236236

237237
-
@@ -261,7 +261,7 @@
261261
is_admin: false
262262
avatar: avatar17
263263
avatar_email: [email protected]
264-
num_repos: 2
264+
num_repos: 4
265265
is_active: true
266266
num_members: 1
267267
num_teams: 1

models/repo_list.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -164,6 +164,10 @@ func SearchRepositoryByName(opts *SearchRepoOptions) (repos RepositoryList, _ in
164164
}
165165
}
166166

167+
if opts.RepoType == RepoTypeCollaborative && (!opts.Collaborate || opts.OwnerID <= 0) {
168+
return repos, 0, nil
169+
}
170+
167171
// Check and set page to correct number
168172
if opts.Page <= 0 {
169173
opts.Page = 1

0 commit comments

Comments
 (0)