github.com/ianfoo/lab@v0.9.5-0.20180123060006-5ed79f2ccfc7/cmd/mrCheckout_test.go (about) 1 package cmd 2 3 import ( 4 "os/exec" 5 "testing" 6 7 "github.com/stretchr/testify/require" 8 ) 9 10 func Test_mrCheckoutCmdRun(t *testing.T) { 11 t.Parallel() 12 repo := copyTestRepo(t) 13 14 cmd := exec.Command("../lab_bin", "mr", "checkout", "1") 15 cmd.Dir = repo 16 b, err := cmd.CombinedOutput() 17 if err != nil { 18 t.Log(string(b)) 19 t.Fatal(err) 20 } 21 t.Log(string(b)) 22 23 cmd = exec.Command("git", "branch") 24 cmd.Dir = repo 25 26 branch, err := cmd.CombinedOutput() 27 if err != nil { 28 t.Fatal(err) 29 } 30 require.Contains(t, string(branch), "mrtest") 31 32 cmd = exec.Command("git", "log", "-n1") 33 cmd.Dir = repo 34 log, err := cmd.CombinedOutput() 35 if err != nil { 36 t.Fatal(err) 37 } 38 eLog := string(log) 39 require.Contains(t, eLog, "Test file for MR test") 40 require.Contains(t, eLog, "54fd49a2ac60aeeef5ddc75efecd49f85f7ba9b0") 41 } 42 43 func Test_mrCheckoutCmdRunWithDifferentName(t *testing.T) { 44 t.Parallel() 45 repo := copyTestRepo(t) 46 47 cmd := exec.Command("../lab_bin", "mr", "checkout", "1", "-b", "mrtest_custom_name") 48 cmd.Dir = repo 49 b, err := cmd.CombinedOutput() 50 if err != nil { 51 t.Log(string(b)) 52 t.Fatal(err) 53 } 54 t.Log(string(b)) 55 56 cmd = exec.Command("git", "branch") 57 cmd.Dir = repo 58 59 branch, err := cmd.CombinedOutput() 60 if err != nil { 61 t.Fatal(err) 62 } 63 require.Contains(t, string(branch), "mrtest_custom_name") 64 65 cmd = exec.Command("git", "log", "-n1") 66 cmd.Dir = repo 67 log, err := cmd.CombinedOutput() 68 if err != nil { 69 t.Fatal(err) 70 } 71 eLog := string(log) 72 require.Contains(t, eLog, "Test file for MR test") 73 require.Contains(t, eLog, "54fd49a2ac60aeeef5ddc75efecd49f85f7ba9b0") 74 }