summaryrefslogtreecommitdiffstats
path: root/models/migrations/v1_18/v229_test.go
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--models/migrations/v1_18/v229_test.go45
1 files changed, 45 insertions, 0 deletions
diff --git a/models/migrations/v1_18/v229_test.go b/models/migrations/v1_18/v229_test.go
new file mode 100644
index 0000000..b20d0ff
--- /dev/null
+++ b/models/migrations/v1_18/v229_test.go
@@ -0,0 +1,45 @@
+// Copyright 2022 The Gitea Authors. All rights reserved.
+// SPDX-License-Identifier: MIT
+
+package v1_18 //nolint
+
+import (
+ "testing"
+
+ "code.gitea.io/gitea/models/issues"
+ migration_tests "code.gitea.io/gitea/models/migrations/test"
+
+ "github.com/stretchr/testify/assert"
+ "github.com/stretchr/testify/require"
+)
+
+func Test_UpdateOpenMilestoneCounts(t *testing.T) {
+ type ExpectedMilestone issues.Milestone
+
+ // Prepare and load the testing database
+ x, deferable := migration_tests.PrepareTestEnv(t, 0, new(issues.Milestone), new(ExpectedMilestone), new(issues.Issue))
+ defer deferable()
+ if x == nil || t.Failed() {
+ return
+ }
+
+ if err := UpdateOpenMilestoneCounts(x); err != nil {
+ require.NoError(t, err)
+ return
+ }
+
+ expected := []ExpectedMilestone{}
+ err := x.Table("expected_milestone").Asc("id").Find(&expected)
+ require.NoError(t, err)
+
+ got := []issues.Milestone{}
+ err = x.Table("milestone").Asc("id").Find(&got)
+ require.NoError(t, err)
+
+ for i, e := range expected {
+ got := got[i]
+ assert.Equal(t, e.ID, got.ID)
+ assert.Equal(t, e.NumIssues, got.NumIssues)
+ assert.Equal(t, e.NumClosedIssues, got.NumClosedIssues)
+ }
+}