(t *testing.T)
| 75 | } |
| 76 | |
| 77 | func 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 | } |
nothing calls this directly
no test coverage detected
searching dependent graphs…