Unit tests for models/admin
This commit is contained in:
		
							parent
							
								
									97170916a3
								
							
						
					
					
						commit
						b316b2e740
					
				
					 3 changed files with 126 additions and 1 deletions
				
			
		|  | @ -103,7 +103,7 @@ func CountNotices() int64 { | ||||||
| 	return count | 	return count | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| // Notices returns number of notices in given page.
 | // Notices returns notices in given page.
 | ||||||
| func Notices(page, pageSize int) ([]*Notice, error) { | func Notices(page, pageSize int) ([]*Notice, error) { | ||||||
| 	notices := make([]*Notice, 0, pageSize) | 	notices := make([]*Notice, 0, pageSize) | ||||||
| 	return notices, x. | 	return notices, x. | ||||||
|  |  | ||||||
							
								
								
									
										111
									
								
								models/admin_test.go
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										111
									
								
								models/admin_test.go
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,111 @@ | ||||||
|  | // 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.
 | ||||||
|  | 
 | ||||||
|  | package models | ||||||
|  | 
 | ||||||
|  | import ( | ||||||
|  | 	"testing" | ||||||
|  | 
 | ||||||
|  | 	"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) { | ||||||
|  | 	assert.NoError(t, PrepareTestDatabase()) | ||||||
|  | 
 | ||||||
|  | 	noticeBean := &Notice{ | ||||||
|  | 		Type:        NoticeRepository, | ||||||
|  | 		Description: "test description", | ||||||
|  | 	} | ||||||
|  | 	AssertNotExistsBean(t, noticeBean) | ||||||
|  | 	assert.NoError(t, CreateNotice(noticeBean.Type, noticeBean.Description)) | ||||||
|  | 	AssertExistsAndLoadBean(t, noticeBean) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func TestCreateRepositoryNotice(t *testing.T) { | ||||||
|  | 	assert.NoError(t, PrepareTestDatabase()) | ||||||
|  | 
 | ||||||
|  | 	noticeBean := &Notice{ | ||||||
|  | 		Type:        NoticeRepository, | ||||||
|  | 		Description: "test description", | ||||||
|  | 	} | ||||||
|  | 	AssertNotExistsBean(t, noticeBean) | ||||||
|  | 	assert.NoError(t, CreateRepositoryNotice(noticeBean.Description)) | ||||||
|  | 	AssertExistsAndLoadBean(t, noticeBean) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | // TODO TestRemoveAllWithNotice
 | ||||||
|  | 
 | ||||||
|  | func TestCountNotices(t *testing.T) { | ||||||
|  | 	assert.NoError(t, PrepareTestDatabase()) | ||||||
|  | 	assert.Equal(t, int64(3), CountNotices()) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func TestNotices(t *testing.T) { | ||||||
|  | 	assert.NoError(t, PrepareTestDatabase()) | ||||||
|  | 
 | ||||||
|  | 	notices, err := Notices(1, 2) | ||||||
|  | 	assert.NoError(t, err) | ||||||
|  | 	assert.Len(t, notices, 2) | ||||||
|  | 	assert.Equal(t, int64(3), notices[0].ID) | ||||||
|  | 	assert.Equal(t, int64(2), notices[1].ID) | ||||||
|  | 
 | ||||||
|  | 	notices, err = Notices(2, 2) | ||||||
|  | 	assert.NoError(t, err) | ||||||
|  | 	assert.Len(t, notices, 1) | ||||||
|  | 	assert.Equal(t, int64(1), notices[0].ID) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func TestDeleteNotice(t *testing.T) { | ||||||
|  | 	assert.NoError(t, PrepareTestDatabase()) | ||||||
|  | 
 | ||||||
|  | 	AssertExistsAndLoadBean(t, &Notice{ID: 3}) | ||||||
|  | 	assert.NoError(t, DeleteNotice(3)) | ||||||
|  | 	AssertNotExistsBean(t, &Notice{ID: 3}) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func TestDeleteNotices(t *testing.T) { | ||||||
|  | 	// delete a non-empty range
 | ||||||
|  | 	assert.NoError(t, PrepareTestDatabase()) | ||||||
|  | 
 | ||||||
|  | 	AssertExistsAndLoadBean(t, &Notice{ID: 1}) | ||||||
|  | 	AssertExistsAndLoadBean(t, &Notice{ID: 2}) | ||||||
|  | 	AssertExistsAndLoadBean(t, &Notice{ID: 3}) | ||||||
|  | 	assert.NoError(t, DeleteNotices(1, 2)) | ||||||
|  | 	AssertNotExistsBean(t, &Notice{ID: 1}) | ||||||
|  | 	AssertNotExistsBean(t, &Notice{ID: 2}) | ||||||
|  | 	AssertExistsAndLoadBean(t, &Notice{ID: 3}) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func TestDeleteNotices2(t *testing.T) { | ||||||
|  | 	// delete an empty range
 | ||||||
|  | 	assert.NoError(t, PrepareTestDatabase()) | ||||||
|  | 
 | ||||||
|  | 	AssertExistsAndLoadBean(t, &Notice{ID: 1}) | ||||||
|  | 	AssertExistsAndLoadBean(t, &Notice{ID: 2}) | ||||||
|  | 	AssertExistsAndLoadBean(t, &Notice{ID: 3}) | ||||||
|  | 	assert.NoError(t, DeleteNotices(3, 2)) | ||||||
|  | 	AssertExistsAndLoadBean(t, &Notice{ID: 1}) | ||||||
|  | 	AssertExistsAndLoadBean(t, &Notice{ID: 2}) | ||||||
|  | 	AssertExistsAndLoadBean(t, &Notice{ID: 3}) | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | func TestDeleteNoticesByIDs(t *testing.T) { | ||||||
|  | 	assert.NoError(t, PrepareTestDatabase()) | ||||||
|  | 
 | ||||||
|  | 	AssertExistsAndLoadBean(t, &Notice{ID: 1}) | ||||||
|  | 	AssertExistsAndLoadBean(t, &Notice{ID: 2}) | ||||||
|  | 	AssertExistsAndLoadBean(t, &Notice{ID: 3}) | ||||||
|  | 	assert.NoError(t, DeleteNoticesByIDs([]int64{1, 3})) | ||||||
|  | 	AssertNotExistsBean(t, &Notice{ID: 1}) | ||||||
|  | 	AssertExistsAndLoadBean(t, &Notice{ID: 2}) | ||||||
|  | 	AssertNotExistsBean(t, &Notice{ID: 3}) | ||||||
|  | } | ||||||
							
								
								
									
										14
									
								
								models/fixtures/notice.yml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										14
									
								
								models/fixtures/notice.yml
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,14 @@ | ||||||
|  | - | ||||||
|  |   id: 1 | ||||||
|  |   type: 1 # NoticeRepository | ||||||
|  |   description: description1 | ||||||
|  | 
 | ||||||
|  | - | ||||||
|  |   id: 2 | ||||||
|  |   type: 1 # NoticeRepository | ||||||
|  |   description: description2 | ||||||
|  | 
 | ||||||
|  | - | ||||||
|  |   id: 3 | ||||||
|  |   type: 1 # NoticeRepository | ||||||
|  |   description: description3 | ||||||
		Loading…
	
		Reference in a new issue