github.com/mg98/scriptup@v0.1.0/pkg/scriptup/status_test.go (about)

     1  package scriptup
     2  
     3  import (
     4  	"os"
     5  	"testing"
     6  )
     7  
     8  func TestGetUnappliedMigrations(t *testing.T) {
     9  	s, err := testCfg.InitMigrationState()
    10  	if err != nil {
    11  		panic(err)
    12  	}
    13  	d := []byte("20220618100116_create-file\n20220618104836_append-1-to-file\n")
    14  	if err := os.WriteFile(testCfg.FileDB, d, 0644); err != nil {
    15  		panic(err)
    16  	}
    17  	defer os.Remove(testCfg.FileDB)
    18  
    19  	ms, err := getUnappliedMigrations(s)
    20  	if err != nil {
    21  		t.Fatalf("unexpected error: %v", err)
    22  	}
    23  	if len(ms) != 2 {
    24  		t.Fatalf("expected 2 unapplied migrations, got %d", len(ms))
    25  	}
    26  	if ms[0].Name != "20220618104839_append-2-to-file" {
    27  		t.Fatalf("expected first to equal 20220618104839_append-2-to-file, got %s", ms[0].Name)
    28  	}
    29  	if ms[1].Name != "20220618104842_append-3-to-file" {
    30  		t.Fatalf("expected first to equal 20220618104842_append-3-to-file, got %s", ms[1].Name)
    31  	}
    32  }