mirror of
https://github.com/mattermost/focalboard.git
synced 2024-12-21 13:38:56 +02:00
(cherry picked from commit 257cc5f1fd
)
Co-authored-by: Miguel de la Cruz <miguel@mcrx.me>
This commit is contained in:
parent
5cb55de86e
commit
be2f5871ae
@ -0,0 +1 @@
|
||||
SELECT 1;
|
@ -0,0 +1,8 @@
|
||||
{{if .plugin}}
|
||||
UPDATE FileInfo
|
||||
SET DeleteAt = 0
|
||||
WHERE CreatorId = 'boards'
|
||||
AND DeleteAt != 0;
|
||||
{{else}}
|
||||
SELECT 1;
|
||||
{{end}}
|
@ -0,0 +1,9 @@
|
||||
INSERT INTO FileInfo
|
||||
(Id, CreatorId, CreateAt, UpdateAt, DeleteAt)
|
||||
VALUES
|
||||
('fileinfo-1', 'user-id', 1, 1, 1000),
|
||||
('fileinfo-2', 'user-id', 1, 1, 1000),
|
||||
('fileinfo-3', 'user-id', 1, 1, 0),
|
||||
('fileinfo-4', 'boards', 1, 1, 2000),
|
||||
('fileinfo-5', 'boards', 1, 1, 2000),
|
||||
('fileinfo-6', 'boards', 1, 1, 0);
|
@ -0,0 +1,48 @@
|
||||
package migrationstests
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
||||
func Test40FixFileinfoSoftDeletes(t *testing.T) {
|
||||
th, tearDown := SetupPluginTestHelper(t)
|
||||
defer tearDown()
|
||||
|
||||
th.f.MigrateToStep(39).
|
||||
ExecFile("./fixtures/test40FixFileinfoSoftDeletes.sql").
|
||||
MigrateToStep(40)
|
||||
|
||||
type FileInfo struct {
|
||||
Id string
|
||||
DeleteAt int
|
||||
}
|
||||
|
||||
getFileInfo := func(t *testing.T, id string) FileInfo {
|
||||
t.Helper()
|
||||
fileInfo := FileInfo{}
|
||||
|
||||
query := "SELECT id, deleteat FROM FileInfo WHERE id = $1"
|
||||
if th.IsMySQL() {
|
||||
query = "SELECT Id as id, DeleteAt as deleteat FROM FileInfo WHERE Id = ?"
|
||||
}
|
||||
|
||||
err := th.f.DB().Get(&fileInfo, query, id)
|
||||
require.NoError(t, err)
|
||||
|
||||
return fileInfo
|
||||
}
|
||||
|
||||
t.Run("the file infos that don't belong to boards will not be restored", func(t *testing.T) {
|
||||
require.Equal(t, 1000, getFileInfo(t, "fileinfo-1").DeleteAt)
|
||||
require.Equal(t, 1000, getFileInfo(t, "fileinfo-2").DeleteAt)
|
||||
require.Empty(t, getFileInfo(t, "fileinfo-3").DeleteAt)
|
||||
})
|
||||
|
||||
t.Run("the file infos that belong to boards should correctly be restored", func(t *testing.T) {
|
||||
require.Empty(t, getFileInfo(t, "fileinfo-3").DeleteAt)
|
||||
require.Empty(t, getFileInfo(t, "fileinfo-4").DeleteAt)
|
||||
require.Empty(t, getFileInfo(t, "fileinfo-5").DeleteAt)
|
||||
})
|
||||
}
|
Loading…
Reference in New Issue
Block a user