504eae018b
gates / gates (push) Successful in 24s
Five red-proofs. MinAgent 0.131.0 unchanged. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0159rPz1ZhFKsS53msqPYxtS
34 lines
1.4 KiB
Go
34 lines
1.4 KiB
Go
package web
|
|
|
|
import (
|
|
"strings"
|
|
"testing"
|
|
|
|
"gitea.dooplex.hu/admin/felhom-controller/internal/stacks"
|
|
)
|
|
|
|
// R-681 (v0.270.0) on the page: an app whose install a restart cut off says so, in both languages, beside
|
|
// its Install button — and an ordinary not-installed app shows nothing (negative control).
|
|
//
|
|
// COMPANION RED-PROOF (REPORT.md): drop the {{if .InstallInterrupted}} line from stacks.html → "the apps
|
|
// page is silent about an interrupted install".
|
|
func TestR681_PageSaysTheInstallWasInterrupted(t *testing.T) {
|
|
st := ubStack(nil, map[string]string{"web": "nginx:1.27"}, "2026-07-18")
|
|
st.Name = "n8n"
|
|
st.Deployed = false
|
|
st.State = stacks.StateNotDeployed
|
|
st.InstallInterrupted = true
|
|
hu := renderBackupPageLang(t, "hu", "stacks", ubStacksData(st))
|
|
en := renderBackupPageLang(t, "en", "stacks", ubStacksData(st))
|
|
if !strings.Contains(hu, `data-install-interrupted="true"`) || !strings.Contains(hu, "lbemaradt") {
|
|
t.Fatal("the apps page is silent about an interrupted install (hu)")
|
|
}
|
|
if !strings.Contains(en, `data-install-interrupted="true"`) || !strings.Contains(en, "interrupted by a restart") {
|
|
t.Fatal("the apps page is silent about an interrupted install (en)")
|
|
}
|
|
st.InstallInterrupted = false
|
|
if h := renderBackupPageLang(t, "hu", "stacks", ubStacksData(st)); strings.Contains(h, `data-install-interrupted`) || strings.Contains(h, "lbemaradt") {
|
|
t.Fatal("an ordinary not-installed app must not carry the sentence")
|
|
}
|
|
}
|