mirror of
https://github.com/pocketbase/pocketbase.git
synced 2025-03-19 22:19:23 +02:00
49 lines
1.1 KiB
Go
49 lines
1.1 KiB
Go
package core_test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/pocketbase/pocketbase/core"
|
|
)
|
|
|
|
func TestMigrationsList(t *testing.T) {
|
|
l1 := core.MigrationsList{}
|
|
l1.Add(&core.Migration{File: "5_test.go"})
|
|
l1.Add(&core.Migration{ /* auto detect file name */ })
|
|
l1.Register(nil, nil, "3_test.go")
|
|
l1.Register(nil, nil, "1_test.go")
|
|
l1.Register(nil, nil, "2_test.go")
|
|
l1.Register(nil, nil /* auto detect file name */)
|
|
|
|
l2 := core.MigrationsList{}
|
|
l2.Register(nil, nil, "4_test.go")
|
|
l2.Copy(l1)
|
|
|
|
expected := []string{
|
|
"1_test.go",
|
|
"2_test.go",
|
|
"3_test.go",
|
|
"4_test.go",
|
|
"5_test.go",
|
|
// twice because there 2 test migrations with auto filename
|
|
"migrations_list_test.go",
|
|
"migrations_list_test.go",
|
|
}
|
|
|
|
items := l2.Items()
|
|
if len(items) != len(expected) {
|
|
names := make([]string, len(items))
|
|
for i, item := range items {
|
|
names[i] = item.File
|
|
}
|
|
t.Fatalf("Expected %d items, got %d:\n%v", len(expected), len(names), names)
|
|
}
|
|
|
|
for i, name := range expected {
|
|
item := l2.Item(i)
|
|
if item.File != name {
|
|
t.Fatalf("Expected name %s for index %d, got %s", name, i, item.File)
|
|
}
|
|
}
|
|
}
|