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