package handlers_test import ( "net/http" "net/http/httptest" "strings" "testing" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" "sneak.berlin/go/upaas/internal/service/app" ) // TestAppPageTitleShowsBranch checks that an app's branch can be read from // the app page title, next to the status badge, without opening the edit page. func TestAppPageTitleShowsBranch(t *testing.T) { t.Parallel() testCtx := setupTestHandlers(t) createdApp, err := testCtx.appSvc.CreateApp(t.Context(), app.CreateAppInput{ Name: "branch-shown-app", RepoURL: "git@example.com:user/branch-shown-app.git", Branch: "staging", }) require.NoError(t, err) request := httptest.NewRequestWithContext( t.Context(), http.MethodGet, "/apps/"+createdApp.ID, nil, ) request = addChiURLParams(request, map[string]string{"id": createdApp.ID}) recorder := httptest.NewRecorder() testCtx.handlers.HandleAppDetail().ServeHTTP(recorder, request) require.Equal(t, http.StatusOK, recorder.Code) // The title row runs from the app name heading to the end of its div. _, afterHeading, found := strings.Cut(recorder.Body.String(), "