mirror of
https://github.com/mattermost/focalboard.git
synced 2025-01-26 18:48:15 +02:00
135 lines
4.0 KiB
Go
135 lines
4.0 KiB
Go
|
package migrationstests
|
||
|
|
||
|
import (
|
||
|
"testing"
|
||
|
|
||
|
"github.com/stretchr/testify/require"
|
||
|
)
|
||
|
|
||
|
func Test37MigrateHiddenBoardIDTest(t *testing.T) {
|
||
|
t.Run("no existing hidden boards exist", func(t *testing.T) {
|
||
|
th, tearDown := SetupTestHelper(t)
|
||
|
defer tearDown()
|
||
|
th.f.MigrateToStep(37)
|
||
|
})
|
||
|
|
||
|
t.Run("SQLite - existsing category boards with some hidden boards", func(t *testing.T) {
|
||
|
th, tearDown := SetupTestHelper(t)
|
||
|
defer tearDown()
|
||
|
|
||
|
if th.IsMySQL() || th.IsPostgres() {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
th.f.MigrateToStep(36).
|
||
|
ExecFile("./fixtures/test37_valid_data_sqlite.sql")
|
||
|
|
||
|
th.f.MigrateToStep(37)
|
||
|
|
||
|
type categoryBoard struct {
|
||
|
User_ID string
|
||
|
Category_ID string
|
||
|
Board_ID string
|
||
|
Hidden bool
|
||
|
}
|
||
|
|
||
|
var hiddenCategoryBoards []categoryBoard
|
||
|
|
||
|
query := "SELECT user_id, category_id, board_id, hidden FROM focalboard_category_boards WHERE hidden = true"
|
||
|
err := th.f.DB().Select(&hiddenCategoryBoards, query)
|
||
|
require.NoError(t, err)
|
||
|
require.Equal(t, 3, len(hiddenCategoryBoards))
|
||
|
require.Contains(t, hiddenCategoryBoards, categoryBoard{User_ID: "user-id-1", Category_ID: "category-id-1", Board_ID: "board-id-1", Hidden: true})
|
||
|
require.Contains(t, hiddenCategoryBoards, categoryBoard{User_ID: "user-id-2", Category_ID: "category-id-3", Board_ID: "board-id-3", Hidden: true})
|
||
|
require.Contains(t, hiddenCategoryBoards, categoryBoard{User_ID: "user-id-2", Category_ID: "category-id-3", Board_ID: "board-id-4", Hidden: true})
|
||
|
})
|
||
|
|
||
|
t.Run("MySQL and PostgreSQL - existsing category boards with some hidden boards", func(t *testing.T) {
|
||
|
th, tearDown := SetupPluginTestHelper(t)
|
||
|
defer tearDown()
|
||
|
|
||
|
if th.IsSQLite() {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
th.f.MigrateToStep(36).
|
||
|
ExecFile("./fixtures/test37_valid_data.sql")
|
||
|
|
||
|
th.f.MigrateToStep(37)
|
||
|
|
||
|
type categoryBoard struct {
|
||
|
User_ID string
|
||
|
Category_ID string
|
||
|
Board_ID string
|
||
|
Hidden bool
|
||
|
}
|
||
|
|
||
|
var hiddenCategoryBoards []categoryBoard
|
||
|
|
||
|
query := "SELECT user_id, category_id, board_id, hidden FROM focalboard_category_boards WHERE hidden = true"
|
||
|
err := th.f.DB().Select(&hiddenCategoryBoards, query)
|
||
|
require.NoError(t, err)
|
||
|
require.Equal(t, 3, len(hiddenCategoryBoards))
|
||
|
require.Contains(t, hiddenCategoryBoards, categoryBoard{User_ID: "user-id-1", Category_ID: "category-id-1", Board_ID: "board-id-1", Hidden: true})
|
||
|
require.Contains(t, hiddenCategoryBoards, categoryBoard{User_ID: "user-id-2", Category_ID: "category-id-3", Board_ID: "board-id-3", Hidden: true})
|
||
|
require.Contains(t, hiddenCategoryBoards, categoryBoard{User_ID: "user-id-2", Category_ID: "category-id-3", Board_ID: "board-id-4", Hidden: true})
|
||
|
})
|
||
|
|
||
|
t.Run("no hidden boards", func(t *testing.T) {
|
||
|
th, tearDown := SetupPluginTestHelper(t)
|
||
|
defer tearDown()
|
||
|
|
||
|
th.f.MigrateToStep(36).
|
||
|
ExecFile("./fixtures/test37_valid_data_no_hidden_boards.sql")
|
||
|
|
||
|
th.f.MigrateToStep(37)
|
||
|
|
||
|
var count int
|
||
|
query := "SELECT count(*) FROM focalboard_category_boards WHERE hidden = true"
|
||
|
err := th.f.DB().Get(&count, query)
|
||
|
require.NoError(t, err)
|
||
|
require.Equal(t, 0, count)
|
||
|
})
|
||
|
|
||
|
t.Run("SQLite - preference but no hidden board", func(t *testing.T) {
|
||
|
th, tearDown := SetupTestHelper(t)
|
||
|
defer tearDown()
|
||
|
|
||
|
if th.IsMySQL() || th.IsPostgres() {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
th.f.MigrateToStep(36).
|
||
|
ExecFile("./fixtures/test37_valid_data_sqlite_preference_but_no_hidden_board.sql")
|
||
|
|
||
|
th.f.MigrateToStep(37)
|
||
|
|
||
|
var count int
|
||
|
query := "SELECT count(*) FROM focalboard_category_boards WHERE hidden = true"
|
||
|
err := th.f.DB().Get(&count, query)
|
||
|
require.NoError(t, err)
|
||
|
require.Equal(t, 0, count)
|
||
|
})
|
||
|
|
||
|
t.Run("MySQL and PostgreSQL - preference but no hidden board", func(t *testing.T) {
|
||
|
th, tearDown := SetupPluginTestHelper(t)
|
||
|
defer tearDown()
|
||
|
|
||
|
if th.IsSQLite() {
|
||
|
return
|
||
|
}
|
||
|
|
||
|
th.f.MigrateToStep(36).
|
||
|
ExecFile("./fixtures/test37_valid_data_preference_but_no_hidden_board.sql")
|
||
|
|
||
|
th.f.MigrateToStep(37)
|
||
|
|
||
|
var count int
|
||
|
query := "SELECT count(*) FROM focalboard_category_boards WHERE hidden = true"
|
||
|
err := th.f.DB().Get(&count, query)
|
||
|
require.NoError(t, err)
|
||
|
require.Equal(t, 0, count)
|
||
|
})
|
||
|
|
||
|
}
|