gitea源码

issue_user_test.go 2.2KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. // Copyright 2017 The Gogs Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package issues_test
  4. import (
  5. "testing"
  6. "code.gitea.io/gitea/models/db"
  7. issues_model "code.gitea.io/gitea/models/issues"
  8. repo_model "code.gitea.io/gitea/models/repo"
  9. "code.gitea.io/gitea/models/unittest"
  10. "github.com/stretchr/testify/assert"
  11. "github.com/stretchr/testify/require"
  12. )
  13. func Test_NewIssueUsers(t *testing.T) {
  14. assert.NoError(t, unittest.PrepareTestDatabase())
  15. repo := unittest.AssertExistsAndLoadBean(t, &repo_model.Repository{ID: 1})
  16. newIssue := &issues_model.Issue{
  17. RepoID: repo.ID,
  18. PosterID: 4,
  19. Index: 6,
  20. Title: "newTestIssueTitle",
  21. Content: "newTestIssueContent",
  22. }
  23. // artificially insert new issue
  24. require.NoError(t, db.Insert(t.Context(), newIssue))
  25. require.NoError(t, issues_model.NewIssueUsers(t.Context(), repo, newIssue))
  26. // issue_user table should now have entries for new issue
  27. unittest.AssertExistsAndLoadBean(t, &issues_model.IssueUser{IssueID: newIssue.ID, UID: newIssue.PosterID})
  28. unittest.AssertExistsAndLoadBean(t, &issues_model.IssueUser{IssueID: newIssue.ID, UID: repo.OwnerID})
  29. }
  30. func TestUpdateIssueUserByRead(t *testing.T) {
  31. assert.NoError(t, unittest.PrepareTestDatabase())
  32. issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 1})
  33. assert.NoError(t, issues_model.UpdateIssueUserByRead(t.Context(), 4, issue.ID))
  34. unittest.AssertExistsAndLoadBean(t, &issues_model.IssueUser{IssueID: issue.ID, UID: 4}, "is_read=1")
  35. assert.NoError(t, issues_model.UpdateIssueUserByRead(t.Context(), 4, issue.ID))
  36. unittest.AssertExistsAndLoadBean(t, &issues_model.IssueUser{IssueID: issue.ID, UID: 4}, "is_read=1")
  37. assert.NoError(t, issues_model.UpdateIssueUserByRead(t.Context(), unittest.NonexistentID, unittest.NonexistentID))
  38. }
  39. func TestUpdateIssueUsersByMentions(t *testing.T) {
  40. assert.NoError(t, unittest.PrepareTestDatabase())
  41. issue := unittest.AssertExistsAndLoadBean(t, &issues_model.Issue{ID: 1})
  42. uids := []int64{2, 5}
  43. assert.NoError(t, issues_model.UpdateIssueUsersByMentions(t.Context(), issue.ID, uids))
  44. for _, uid := range uids {
  45. unittest.AssertExistsAndLoadBean(t, &issues_model.IssueUser{IssueID: issue.ID, UID: uid}, "is_mentioned=1")
  46. }
  47. }