gitea源码

notice_test.go 3.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108
  1. // Copyright 2017 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package system_test
  4. import (
  5. "testing"
  6. "code.gitea.io/gitea/models/db"
  7. "code.gitea.io/gitea/models/system"
  8. "code.gitea.io/gitea/models/unittest"
  9. "github.com/stretchr/testify/assert"
  10. )
  11. func TestNotice_TrStr(t *testing.T) {
  12. notice := &system.Notice{
  13. Type: system.NoticeRepository,
  14. Description: "test description",
  15. }
  16. assert.Equal(t, "admin.notices.type_1", notice.TrStr())
  17. }
  18. func TestCreateNotice(t *testing.T) {
  19. assert.NoError(t, unittest.PrepareTestDatabase())
  20. noticeBean := &system.Notice{
  21. Type: system.NoticeRepository,
  22. Description: "test description",
  23. }
  24. unittest.AssertNotExistsBean(t, noticeBean)
  25. assert.NoError(t, system.CreateNotice(t.Context(), noticeBean.Type, noticeBean.Description))
  26. unittest.AssertExistsAndLoadBean(t, noticeBean)
  27. }
  28. func TestCreateRepositoryNotice(t *testing.T) {
  29. assert.NoError(t, unittest.PrepareTestDatabase())
  30. noticeBean := &system.Notice{
  31. Type: system.NoticeRepository,
  32. Description: "test description",
  33. }
  34. unittest.AssertNotExistsBean(t, noticeBean)
  35. assert.NoError(t, system.CreateRepositoryNotice(noticeBean.Description))
  36. unittest.AssertExistsAndLoadBean(t, noticeBean)
  37. }
  38. func TestCountNotices(t *testing.T) {
  39. assert.NoError(t, unittest.PrepareTestDatabase())
  40. assert.Equal(t, int64(3), system.CountNotices(t.Context()))
  41. }
  42. func TestNotices(t *testing.T) {
  43. assert.NoError(t, unittest.PrepareTestDatabase())
  44. notices, err := system.Notices(t.Context(), 1, 2)
  45. assert.NoError(t, err)
  46. if assert.Len(t, notices, 2) {
  47. assert.Equal(t, int64(3), notices[0].ID)
  48. assert.Equal(t, int64(2), notices[1].ID)
  49. }
  50. notices, err = system.Notices(t.Context(), 2, 2)
  51. assert.NoError(t, err)
  52. if assert.Len(t, notices, 1) {
  53. assert.Equal(t, int64(1), notices[0].ID)
  54. }
  55. }
  56. func TestDeleteNotices(t *testing.T) {
  57. // delete a non-empty range
  58. assert.NoError(t, unittest.PrepareTestDatabase())
  59. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 1})
  60. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 2})
  61. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 3})
  62. assert.NoError(t, system.DeleteNotices(t.Context(), 1, 2))
  63. unittest.AssertNotExistsBean(t, &system.Notice{ID: 1})
  64. unittest.AssertNotExistsBean(t, &system.Notice{ID: 2})
  65. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 3})
  66. }
  67. func TestDeleteNotices2(t *testing.T) {
  68. // delete an empty range
  69. assert.NoError(t, unittest.PrepareTestDatabase())
  70. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 1})
  71. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 2})
  72. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 3})
  73. assert.NoError(t, system.DeleteNotices(t.Context(), 3, 2))
  74. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 1})
  75. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 2})
  76. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 3})
  77. }
  78. func TestDeleteNoticesByIDs(t *testing.T) {
  79. assert.NoError(t, unittest.PrepareTestDatabase())
  80. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 1})
  81. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 2})
  82. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 3})
  83. err := db.DeleteByIDs[system.Notice](t.Context(), 1, 3)
  84. assert.NoError(t, err)
  85. unittest.AssertNotExistsBean(t, &system.Notice{ID: 1})
  86. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 2})
  87. unittest.AssertNotExistsBean(t, &system.Notice{ID: 3})
  88. }