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.

notice_test.go 3.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116
  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(db.DefaultContext, 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. // TODO TestRemoveAllWithNotice
  39. func TestCountNotices(t *testing.T) {
  40. assert.NoError(t, unittest.PrepareTestDatabase())
  41. assert.Equal(t, int64(3), system.CountNotices())
  42. }
  43. func TestNotices(t *testing.T) {
  44. assert.NoError(t, unittest.PrepareTestDatabase())
  45. notices, err := system.Notices(db.DefaultContext, 1, 2)
  46. assert.NoError(t, err)
  47. if assert.Len(t, notices, 2) {
  48. assert.Equal(t, int64(3), notices[0].ID)
  49. assert.Equal(t, int64(2), notices[1].ID)
  50. }
  51. notices, err = system.Notices(db.DefaultContext, 2, 2)
  52. assert.NoError(t, err)
  53. if assert.Len(t, notices, 1) {
  54. assert.Equal(t, int64(1), notices[0].ID)
  55. }
  56. }
  57. func TestDeleteNotice(t *testing.T) {
  58. assert.NoError(t, unittest.PrepareTestDatabase())
  59. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 3})
  60. assert.NoError(t, system.DeleteNotice(db.DefaultContext, 3))
  61. unittest.AssertNotExistsBean(t, &system.Notice{ID: 3})
  62. }
  63. func TestDeleteNotices(t *testing.T) {
  64. // delete a non-empty range
  65. assert.NoError(t, unittest.PrepareTestDatabase())
  66. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 1})
  67. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 2})
  68. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 3})
  69. assert.NoError(t, system.DeleteNotices(db.DefaultContext, 1, 2))
  70. unittest.AssertNotExistsBean(t, &system.Notice{ID: 1})
  71. unittest.AssertNotExistsBean(t, &system.Notice{ID: 2})
  72. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 3})
  73. }
  74. func TestDeleteNotices2(t *testing.T) {
  75. // delete an empty range
  76. assert.NoError(t, unittest.PrepareTestDatabase())
  77. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 1})
  78. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 2})
  79. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 3})
  80. assert.NoError(t, system.DeleteNotices(db.DefaultContext, 3, 2))
  81. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 1})
  82. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 2})
  83. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 3})
  84. }
  85. func TestDeleteNoticesByIDs(t *testing.T) {
  86. assert.NoError(t, unittest.PrepareTestDatabase())
  87. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 1})
  88. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 2})
  89. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 3})
  90. assert.NoError(t, system.DeleteNoticesByIDs(db.DefaultContext, []int64{1, 3}))
  91. unittest.AssertNotExistsBean(t, &system.Notice{ID: 1})
  92. unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 2})
  93. unittest.AssertNotExistsBean(t, &system.Notice{ID: 3})
  94. }