package web
import (
"strings"
"testing"
)
// A Land press that stopped only to wait on checks armed the rest, and
// the page says they land themselves instead of naming a stop.
func TestALandThatArmedTheRestSaysSo(t *testing.T) {
render := func(armed string) string {
var buf strings.Builder
if err := noHooks.template(landingPage).ExecuteTemplate(&buf, "landing-body", pageData{
Repo: "quarry", Landed: "1", Stopped: "cc33dd44ee55", StopWhy: "stale", LandArmed: armed,
Landing: &landingDetail{landingRow: landingRow{
ID: "aa11bb22cc33", Branch: "b", Target: "trunk", State: "accepted", Title: "t",
}},
}); err != nil {
t.Fatal(err)
}
return buf.String()
}
if got := render("1"); !strings.Contains(got, `data-armed="1"`) || strings.Contains(got, `href="/r/quarry/landing/cc33dd44ee55"`) {
t.Error("FAIL: an armed rest reads as a stop")
}
if got := render(""); strings.Contains(got, `data-armed`) || !strings.Contains(got, `href="/r/quarry/landing/cc33dd44ee55"`) {
t.Error("FAIL: a real stop no longer names where it stopped")
}
}