fix(assignees): resolve 500 error when reading task assignees
This commit is contained in:
parent
e0fb3ed732
commit
b6a02cb6a5
|
|
@ -334,10 +334,9 @@ func (la *TaskAssginee) ReadAll(s *xorm.Session, a web.Auth, search string, page
|
|||
}
|
||||
|
||||
numberOfTotalItems, err = s.Table("task_assignees").
|
||||
Select("users.*").
|
||||
Join("INNER", "users", "task_assignees.user_id = users.id").
|
||||
Where("task_id = ? AND users.username LIKE ?", la.TaskID, "%"+search+"%").
|
||||
Count(&user.User{})
|
||||
Count(&TaskAssginee{})
|
||||
return taskAssignees, len(taskAssignees), numberOfTotalItems, err
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -563,3 +563,36 @@ func TestTaskDuplicate(t *testing.T) {
|
|||
assert.Contains(t, getHTTPErrorMessage(err), "Forbidden")
|
||||
})
|
||||
}
|
||||
|
||||
func TestTaskAssignees(t *testing.T) {
|
||||
testHandler := webHandlerTest{
|
||||
user: &testuser1,
|
||||
strFunc: func() handler.CObject {
|
||||
return &models.TaskAssginee{}
|
||||
},
|
||||
t: t,
|
||||
}
|
||||
|
||||
t.Run("ReadAll", func(t *testing.T) {
|
||||
t.Run("With assignees", func(t *testing.T) {
|
||||
rec, err := testHandler.testReadAllWithUser(nil, map[string]string{"projecttask": "30"})
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, http.StatusOK, rec.Code)
|
||||
assert.Contains(t, rec.Body.String(), `"id":1`)
|
||||
assert.Contains(t, rec.Body.String(), `"id":2`)
|
||||
})
|
||||
|
||||
t.Run("Without assignees", func(t *testing.T) {
|
||||
rec, err := testHandler.testReadAllWithUser(nil, map[string]string{"projecttask": "1"})
|
||||
require.NoError(t, err)
|
||||
assert.Equal(t, http.StatusOK, rec.Code)
|
||||
assert.Contains(t, rec.Body.String(), `[]`)
|
||||
})
|
||||
|
||||
t.Run("No permission", func(t *testing.T) {
|
||||
_, err := testHandler.testReadAllWithUser(nil, map[string]string{"projecttask": "14"})
|
||||
require.Error(t, err)
|
||||
assert.Equal(t, http.StatusForbidden, getHTTPErrorCode(err))
|
||||
})
|
||||
})
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue