Fix potential assignee query for repo (#18994)
* Fix potential assignee query for repo * Add tests for `GetRepoAssignees` - As per https://github.com/go-gitea/gitea/pull/18994#issuecomment-1058506640 Co-authored-by: 6543 <6543@obermui.de> Co-authored-by: Gusted <williamzijl7@hotmail.com> Co-authored-by: Lunny Xiao <xiaolunwen@gmail.com>
This commit is contained in:
		
							parent
							
								
									5184c83f6b
								
							
						
					
					
						commit
						e46a8c90ea
					
				|  | @ -153,7 +153,7 @@ func getRepoAssignees(ctx context.Context, repo *repo_model.Repository) (_ []*us | |||
| 	userIDs := make([]int64, 0, 10) | ||||
| 	if err = e.Table("access"). | ||||
| 		Where("repo_id = ? AND mode >= ?", repo.ID, perm.AccessModeWrite). | ||||
| 		Select("id"). | ||||
| 		Select("user_id"). | ||||
| 		Find(&userIDs); err != nil { | ||||
| 		return nil, err | ||||
| 	} | ||||
|  |  | |||
|  | @ -167,3 +167,21 @@ func TestLinkedRepository(t *testing.T) { | |||
| 		}) | ||||
| 	} | ||||
| } | ||||
| 
 | ||||
| func TestRepoAssignees(t *testing.T) { | ||||
| 	assert.NoError(t, unittest.PrepareTestDatabase()) | ||||
| 
 | ||||
| 	repo2 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 2}).(*repo_model.Repository) | ||||
| 	users, err := GetRepoAssignees(repo2) | ||||
| 	assert.NoError(t, err) | ||||
| 	assert.Len(t, users, 1) | ||||
| 	assert.Equal(t, users[0].ID, int64(2)) | ||||
| 
 | ||||
| 	repo21 := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 21}).(*repo_model.Repository) | ||||
| 	users, err = GetRepoAssignees(repo21) | ||||
| 	assert.NoError(t, err) | ||||
| 	assert.Len(t, users, 3) | ||||
| 	assert.Equal(t, users[0].ID, int64(15)) | ||||
| 	assert.Equal(t, users[1].ID, int64(18)) | ||||
| 	assert.Equal(t, users[2].ID, int64(16)) | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue