github.com/mg98/scriptup@v0.1.0/pkg/scriptup/up_test.go (about) 1 package scriptup 2 3 import ( 4 "os" 5 "testing" 6 ) 7 8 func TestMigrateUp(t *testing.T) { 9 // up --steps=2 10 t.Run("2 steps", func(t *testing.T) { 11 if err := MigrateUp(testCfg, 2); err != nil { 12 t.Fatalf("command failed: %v", err) 13 } 14 defer os.Remove(testCfg.FileDB) 15 defer os.Remove(createdTestFile) 16 b, err := os.ReadFile(createdTestFile) 17 if err != nil { 18 t.Fatalf("migration ineffective: %v", err) 19 } 20 if string(b) != "hello world\n1\n" { 21 t.Fatalf("migration ineffective: file does not have expected contents: %s", string(b)) 22 } 23 }) 24 25 // up 26 t.Run("all remaining", func(t *testing.T) { 27 if err := MigrateUp(testCfg, -1); err != nil { 28 t.Fatalf("command failed: %v", err) 29 } 30 defer os.Remove(testCfg.FileDB) 31 defer os.Remove(createdTestFile) 32 b, err := os.ReadFile(createdTestFile) 33 if err != nil { 34 t.Fatalf("migration ineffective: %v", err) 35 } 36 if string(b) != "hello world\n1\n2\n3\n" { 37 t.Fatalf("migration ineffective: file does not have expected contents: %s", string(b)) 38 } 39 }) 40 }