You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

assignee_test.go 1.2KB

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