2017-01-09 21:26:05 +03:00
// Copyright 2017 The Gitea Authors. All rights reserved.
// Use of this source code is governed by a MIT-style
// license that can be found in the LICENSE file.
2021-11-18 08:58:42 +03:00
package admin
2017-01-09 21:26:05 +03:00
import (
"testing"
2021-11-18 20:42:27 +03:00
"code.gitea.io/gitea/models/db"
2021-11-12 17:36:47 +03:00
"code.gitea.io/gitea/models/unittest"
2021-11-17 15:34:35 +03:00
2017-01-09 21:26:05 +03:00
"github.com/stretchr/testify/assert"
)
func TestNotice_TrStr ( t * testing . T ) {
notice := & Notice {
Type : NoticeRepository ,
Description : "test description" ,
}
assert . Equal ( t , "admin.notices.type_1" , notice . TrStr ( ) )
}
func TestCreateNotice ( t * testing . T ) {
2021-11-12 17:36:47 +03:00
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
2017-01-09 21:26:05 +03:00
noticeBean := & Notice {
Type : NoticeRepository ,
Description : "test description" ,
}
2021-11-16 11:53:21 +03:00
unittest . AssertNotExistsBean ( t , noticeBean )
2021-11-18 20:42:27 +03:00
assert . NoError ( t , CreateNotice ( db . DefaultContext , noticeBean . Type , noticeBean . Description ) )
2021-11-16 11:53:21 +03:00
unittest . AssertExistsAndLoadBean ( t , noticeBean )
2017-01-09 21:26:05 +03:00
}
func TestCreateRepositoryNotice ( t * testing . T ) {
2021-11-12 17:36:47 +03:00
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
2017-01-09 21:26:05 +03:00
noticeBean := & Notice {
Type : NoticeRepository ,
Description : "test description" ,
}
2021-11-16 11:53:21 +03:00
unittest . AssertNotExistsBean ( t , noticeBean )
2017-01-09 21:26:05 +03:00
assert . NoError ( t , CreateRepositoryNotice ( noticeBean . Description ) )
2021-11-16 11:53:21 +03:00
unittest . AssertExistsAndLoadBean ( t , noticeBean )
2017-01-09 21:26:05 +03:00
}
// TODO TestRemoveAllWithNotice
func TestCountNotices ( t * testing . T ) {
2021-11-12 17:36:47 +03:00
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
2017-01-09 21:26:05 +03:00
assert . Equal ( t , int64 ( 3 ) , CountNotices ( ) )
}
func TestNotices ( t * testing . T ) {
2021-11-12 17:36:47 +03:00
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
2017-01-09 21:26:05 +03:00
notices , err := Notices ( 1 , 2 )
assert . NoError ( t , err )
2017-08-28 12:17:45 +03:00
if assert . Len ( t , notices , 2 ) {
assert . Equal ( t , int64 ( 3 ) , notices [ 0 ] . ID )
assert . Equal ( t , int64 ( 2 ) , notices [ 1 ] . ID )
}
2017-01-09 21:26:05 +03:00
notices , err = Notices ( 2 , 2 )
assert . NoError ( t , err )
2017-08-28 12:17:45 +03:00
if assert . Len ( t , notices , 1 ) {
assert . Equal ( t , int64 ( 1 ) , notices [ 0 ] . ID )
}
2017-01-09 21:26:05 +03:00
}
func TestDeleteNotice ( t * testing . T ) {
2021-11-12 17:36:47 +03:00
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
2017-01-09 21:26:05 +03:00
2021-11-16 11:53:21 +03:00
unittest . AssertExistsAndLoadBean ( t , & Notice { ID : 3 } )
2017-01-09 21:26:05 +03:00
assert . NoError ( t , DeleteNotice ( 3 ) )
2021-11-16 11:53:21 +03:00
unittest . AssertNotExistsBean ( t , & Notice { ID : 3 } )
2017-01-09 21:26:05 +03:00
}
func TestDeleteNotices ( t * testing . T ) {
// delete a non-empty range
2021-11-12 17:36:47 +03:00
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
2017-01-09 21:26:05 +03:00
2021-11-16 11:53:21 +03:00
unittest . AssertExistsAndLoadBean ( t , & Notice { ID : 1 } )
unittest . AssertExistsAndLoadBean ( t , & Notice { ID : 2 } )
unittest . AssertExistsAndLoadBean ( t , & Notice { ID : 3 } )
2017-01-09 21:26:05 +03:00
assert . NoError ( t , DeleteNotices ( 1 , 2 ) )
2021-11-16 11:53:21 +03:00
unittest . AssertNotExistsBean ( t , & Notice { ID : 1 } )
unittest . AssertNotExistsBean ( t , & Notice { ID : 2 } )
unittest . AssertExistsAndLoadBean ( t , & Notice { ID : 3 } )
2017-01-09 21:26:05 +03:00
}
func TestDeleteNotices2 ( t * testing . T ) {
// delete an empty range
2021-11-12 17:36:47 +03:00
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
2017-01-09 21:26:05 +03:00
2021-11-16 11:53:21 +03:00
unittest . AssertExistsAndLoadBean ( t , & Notice { ID : 1 } )
unittest . AssertExistsAndLoadBean ( t , & Notice { ID : 2 } )
unittest . AssertExistsAndLoadBean ( t , & Notice { ID : 3 } )
2017-01-09 21:26:05 +03:00
assert . NoError ( t , DeleteNotices ( 3 , 2 ) )
2021-11-16 11:53:21 +03:00
unittest . AssertExistsAndLoadBean ( t , & Notice { ID : 1 } )
unittest . AssertExistsAndLoadBean ( t , & Notice { ID : 2 } )
unittest . AssertExistsAndLoadBean ( t , & Notice { ID : 3 } )
2017-01-09 21:26:05 +03:00
}
func TestDeleteNoticesByIDs ( t * testing . T ) {
2021-11-12 17:36:47 +03:00
assert . NoError ( t , unittest . PrepareTestDatabase ( ) )
2017-01-09 21:26:05 +03:00
2021-11-16 11:53:21 +03:00
unittest . AssertExistsAndLoadBean ( t , & Notice { ID : 1 } )
unittest . AssertExistsAndLoadBean ( t , & Notice { ID : 2 } )
unittest . AssertExistsAndLoadBean ( t , & Notice { ID : 3 } )
2017-01-09 21:26:05 +03:00
assert . NoError ( t , DeleteNoticesByIDs ( [ ] int64 { 1 , 3 } ) )
2021-11-16 11:53:21 +03:00
unittest . AssertNotExistsBean ( t , & Notice { ID : 1 } )
unittest . AssertExistsAndLoadBean ( t , & Notice { ID : 2 } )
unittest . AssertNotExistsBean ( t , & Notice { ID : 3 } )
2017-01-09 21:26:05 +03:00
}