52 lines
1.2 KiB
Go
52 lines
1.2 KiB
Go
package main
|
|
|
|
import (
|
|
"errors"
|
|
"strings"
|
|
"testing"
|
|
)
|
|
|
|
func TestRootCommandLaunchesDevelopmentDashboard(t *testing.T) {
|
|
want := errors.New("dashboard started")
|
|
previous := runMain
|
|
t.Cleanup(func() { runMain = previous })
|
|
runMain = func() error { return want }
|
|
|
|
if err := rootCmd.RunE(rootCmd, nil); !errors.Is(err, want) {
|
|
t.Fatalf("root command error = %v", err)
|
|
}
|
|
}
|
|
|
|
func TestRunLaunchRejectsTagWithPR(t *testing.T) {
|
|
previousPR := flagPR
|
|
t.Cleanup(func() { flagPR = previousPR })
|
|
flagPR = 42
|
|
|
|
err := runLaunch(runCmd, []string{"feature"})
|
|
if err == nil || !strings.Contains(err.Error(), "cannot be used together") {
|
|
t.Fatalf("error = %v", err)
|
|
}
|
|
}
|
|
|
|
func TestRunLaunchRejectsNegativePR(t *testing.T) {
|
|
previousPR := flagPR
|
|
t.Cleanup(func() { flagPR = previousPR })
|
|
flagPR = -1
|
|
|
|
err := runLaunch(runCmd, nil)
|
|
if err == nil || !strings.Contains(err.Error(), "must be positive") {
|
|
t.Fatalf("error = %v", err)
|
|
}
|
|
}
|
|
|
|
func TestRunLaunchRejectsMissingImage(t *testing.T) {
|
|
previousPR := flagPR
|
|
t.Cleanup(func() { flagPR = previousPR })
|
|
flagPR = 0
|
|
|
|
err := runLaunch(runCmd, nil)
|
|
if err == nil || !strings.Contains(err.Error(), "provide a tag or --pr") {
|
|
t.Fatalf("error = %v", err)
|
|
}
|
|
}
|