diff options
Diffstat (limited to 'models/migrations/v1_22/v293_test.go')
-rw-r--r-- | models/migrations/v1_22/v293_test.go | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/models/migrations/v1_22/v293_test.go b/models/migrations/v1_22/v293_test.go new file mode 100644 index 00000000..bc9eb46b --- /dev/null +++ b/models/migrations/v1_22/v293_test.go @@ -0,0 +1,45 @@ +// Copyright 2024 The Gitea Authors. All rights reserved. +// SPDX-License-Identifier: MIT + +package v1_22 //nolint + +import ( + "testing" + + "code.gitea.io/gitea/models/db" + "code.gitea.io/gitea/models/migrations/base" + "code.gitea.io/gitea/models/project" + + "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" +) + +func Test_CheckProjectColumnsConsistency(t *testing.T) { + // Prepare and load the testing database + x, deferable := base.PrepareTestEnv(t, 0, new(project.Project), new(project.Column)) + defer deferable() + if x == nil || t.Failed() { + return + } + + require.NoError(t, CheckProjectColumnsConsistency(x)) + + // check if default column was added + var defaultColumn project.Column + has, err := x.Where("project_id=? AND `default` = ?", 1, true).Get(&defaultColumn) + require.NoError(t, err) + assert.True(t, has) + assert.Equal(t, int64(1), defaultColumn.ProjectID) + assert.True(t, defaultColumn.Default) + + // check if multiple defaults, previous were removed and last will be kept + expectDefaultColumn, err := project.GetColumn(db.DefaultContext, 2) + require.NoError(t, err) + assert.Equal(t, int64(2), expectDefaultColumn.ProjectID) + assert.False(t, expectDefaultColumn.Default) + + expectNonDefaultColumn, err := project.GetColumn(db.DefaultContext, 3) + require.NoError(t, err) + assert.Equal(t, int64(2), expectNonDefaultColumn.ProjectID) + assert.True(t, expectNonDefaultColumn.Default) +} |