code.gitea.io/gitea@v1.22.3/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(db.DefaultContext)) 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 TestDeleteNotices(t *testing.T) { 73 // delete a non-empty range 74 assert.NoError(t, unittest.PrepareTestDatabase()) 75 76 unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 1}) 77 unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 2}) 78 unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 3}) 79 assert.NoError(t, system.DeleteNotices(db.DefaultContext, 1, 2)) 80 unittest.AssertNotExistsBean(t, &system.Notice{ID: 1}) 81 unittest.AssertNotExistsBean(t, &system.Notice{ID: 2}) 82 unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 3}) 83 } 84 85 func TestDeleteNotices2(t *testing.T) { 86 // delete an empty range 87 assert.NoError(t, unittest.PrepareTestDatabase()) 88 89 unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 1}) 90 unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 2}) 91 unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 3}) 92 assert.NoError(t, system.DeleteNotices(db.DefaultContext, 3, 2)) 93 unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 1}) 94 unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 2}) 95 unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 3}) 96 } 97 98 func TestDeleteNoticesByIDs(t *testing.T) { 99 assert.NoError(t, unittest.PrepareTestDatabase()) 100 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 err := db.DeleteByIDs[system.Notice](db.DefaultContext, 1, 3) 105 assert.NoError(t, err) 106 unittest.AssertNotExistsBean(t, &system.Notice{ID: 1}) 107 unittest.AssertExistsAndLoadBean(t, &system.Notice{ID: 2}) 108 unittest.AssertNotExistsBean(t, &system.Notice{ID: 3}) 109 }