gitea源码

v293_test.go 1.3KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // Copyright 2024 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package v1_22
  4. import (
  5. "testing"
  6. "code.gitea.io/gitea/models/migrations/base"
  7. "code.gitea.io/gitea/models/project"
  8. "github.com/stretchr/testify/assert"
  9. )
  10. func Test_CheckProjectColumnsConsistency(t *testing.T) {
  11. // Prepare and load the testing database
  12. x, deferable := base.PrepareTestEnv(t, 0, new(project.Project), new(project.Column))
  13. defer deferable()
  14. if x == nil || t.Failed() {
  15. return
  16. }
  17. assert.NoError(t, CheckProjectColumnsConsistency(x))
  18. // check if default column was added
  19. var defaultColumn project.Column
  20. has, err := x.Where("project_id=? AND `default` = ?", 1, true).Get(&defaultColumn)
  21. assert.NoError(t, err)
  22. assert.True(t, has)
  23. assert.Equal(t, int64(1), defaultColumn.ProjectID)
  24. assert.True(t, defaultColumn.Default)
  25. // check if multiple defaults, previous were removed and last will be kept
  26. expectDefaultColumn, err := project.GetColumn(t.Context(), 2)
  27. assert.NoError(t, err)
  28. assert.Equal(t, int64(2), expectDefaultColumn.ProjectID)
  29. assert.False(t, expectDefaultColumn.Default)
  30. expectNonDefaultColumn, err := project.GetColumn(t.Context(), 3)
  31. assert.NoError(t, err)
  32. assert.Equal(t, int64(2), expectNonDefaultColumn.ProjectID)
  33. assert.True(t, expectNonDefaultColumn.Default)
  34. }