MCPcopy
hub / github.com/gotify/server / TestMigrateSortKey

Function TestMigrateSortKey

database/database_test.go:77–114  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

75}
76
77func TestMigrateSortKey(t *testing.T) {
78 db, err := New("sqlite3", fmt.Sprintf("file:%s?mode=memory&cache=shared", fmt.Sprint(time.Now().UnixNano())), "admin", "pw", 5, true)
79 assert.Nil(t, err)
80 assert.NotNil(t, db)
81
82 err = db.CreateApplication(&model.Application{Name: "one", Token: "one", UserID: 1})
83 assert.NoError(t, err)
84 err = db.CreateApplication(&model.Application{Name: "two", Token: "two", UserID: 1})
85 assert.NoError(t, err)
86 err = db.CreateApplication(&model.Application{Name: "three", Token: "three", UserID: 1})
87 assert.NoError(t, err)
88 err = db.CreateApplication(&model.Application{Name: "one-other", Token: "one-other", UserID: 2})
89 assert.NoError(t, err)
90
91 err = db.DB.Session(&gorm.Session{AllowGlobalUpdate: true}).Model(new(model.Application)).UpdateColumn("sort_key", nil).Error
92 assert.NoError(t, err)
93
94 err = fillMissingSortKeys(db.DB)
95 assert.NoError(t, err)
96
97 apps, err := db.GetApplicationsByUser(1)
98 assert.NoError(t, err)
99
100 assert.Len(t, apps, 3)
101 assert.Equal(t, apps[0].Name, "one")
102 assert.Equal(t, apps[0].SortKey, "a0")
103 assert.Equal(t, apps[1].Name, "two")
104 assert.Equal(t, apps[1].SortKey, "a1")
105 assert.Equal(t, apps[2].Name, "three")
106 assert.Equal(t, apps[2].SortKey, "a2")
107
108 apps, err = db.GetApplicationsByUser(2)
109 assert.NoError(t, err)
110
111 assert.Len(t, apps, 1)
112 assert.Equal(t, apps[0].Name, "one-other")
113 assert.Equal(t, apps[0].SortKey, "a0")
114}

Callers

nothing calls this directly

Calls 4

fillMissingSortKeysFunction · 0.85
NewFunction · 0.70
CreateApplicationMethod · 0.65
GetApplicationsByUserMethod · 0.65

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…