code.gitea.io/gitea@v1.22.3/models/migrations/v1_22/v293_test.go (about) 1 // Copyright 2024 The Gitea Authors. All rights reserved. 2 // SPDX-License-Identifier: MIT 3 4 package v1_22 //nolint 5 6 import ( 7 "testing" 8 9 "code.gitea.io/gitea/models/db" 10 "code.gitea.io/gitea/models/migrations/base" 11 "code.gitea.io/gitea/models/project" 12 13 "github.com/stretchr/testify/assert" 14 ) 15 16 func Test_CheckProjectColumnsConsistency(t *testing.T) { 17 // Prepare and load the testing database 18 x, deferable := base.PrepareTestEnv(t, 0, new(project.Project), new(project.Board)) 19 defer deferable() 20 if x == nil || t.Failed() { 21 return 22 } 23 24 assert.NoError(t, CheckProjectColumnsConsistency(x)) 25 26 // check if default board was added 27 var defaultBoard project.Board 28 has, err := x.Where("project_id=? AND `default` = ?", 1, true).Get(&defaultBoard) 29 assert.NoError(t, err) 30 assert.True(t, has) 31 assert.Equal(t, int64(1), defaultBoard.ProjectID) 32 assert.True(t, defaultBoard.Default) 33 34 // check if multiple defaults, previous were removed and last will be kept 35 expectDefaultBoard, err := project.GetBoard(db.DefaultContext, 2) 36 assert.NoError(t, err) 37 assert.Equal(t, int64(2), expectDefaultBoard.ProjectID) 38 assert.False(t, expectDefaultBoard.Default) 39 40 expectNonDefaultBoard, err := project.GetBoard(db.DefaultContext, 3) 41 assert.NoError(t, err) 42 assert.Equal(t, int64(2), expectNonDefaultBoard.ProjectID) 43 assert.True(t, expectNonDefaultBoard.Default) 44 }