gitea源码

assignee_test.go 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. // Copyright 2019 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package issue
  4. import (
  5. "testing"
  6. issues_model "code.gitea.io/gitea/models/issues"
  7. "code.gitea.io/gitea/models/unittest"
  8. user_model "code.gitea.io/gitea/models/user"
  9. "github.com/stretchr/testify/assert"
  10. )
  11. func TestDeleteNotPassedAssignee(t *testing.T) {
  12. assert.NoError(t, unittest.PrepareTestDatabase())
  13. // Fake issue with assignees
  14. issue, err := issues_model.GetIssueByID(t.Context(), 1)
  15. assert.NoError(t, err)
  16. err = issue.LoadAttributes(t.Context())
  17. assert.NoError(t, err)
  18. assert.Len(t, issue.Assignees, 1)
  19. user1, err := user_model.GetUserByID(t.Context(), 1) // This user is already assigned (see the definition in fixtures), so running UpdateAssignee should unassign him
  20. assert.NoError(t, err)
  21. // Check if he got removed
  22. isAssigned, err := issues_model.IsUserAssignedToIssue(t.Context(), issue, user1)
  23. assert.NoError(t, err)
  24. assert.True(t, isAssigned)
  25. // Clean everyone
  26. err = DeleteNotPassedAssignee(t.Context(), issue, user1, []*user_model.User{})
  27. assert.NoError(t, err)
  28. assert.Empty(t, issue.Assignees)
  29. // Reload to check they're gone
  30. issue.ResetAttributesLoaded()
  31. assert.NoError(t, issue.LoadAssignees(t.Context()))
  32. assert.Empty(t, issue.Assignees)
  33. assert.Empty(t, issue.Assignee)
  34. }