// Copyright 2024 The Forgejo Authors. All rights reserved. // SPDX-License-Identifier: MIT package integration import ( "net/http" "net/url" "strings" "testing" "github.com/stretchr/testify/assert" ) // TestRepoCollaborators is a test for contents of Collaborators tab in the repo settings // It only covers a few elements and can be extended as needed func TestRepoCollaborators(t *testing.T) { onGiteaRun(t, func(t *testing.T, u *url.URL) { session := loginUser(t, "user2") // Visit Collaborators tab of repo settings response := session.MakeRequest(t, NewRequest(t, "GET", "/user2/repo1/settings/collaboration"), http.StatusOK) page := NewHTMLParser(t, response.Body).Find(".repo-setting-content") // Veirfy header assert.EqualValues(t, "Collaborators", strings.TrimSpace(page.Find("h4").Text())) // Veirfy button text page = page.Find("#repo-collab-form") assert.EqualValues(t, "Add collaborator", strings.TrimSpace(page.Find("button.primary").Text())) // Veirfy placeholder placeholder, exists := page.Find("#search-user-box input").Attr("placeholder") assert.True(t, exists) assert.EqualValues(t, "Search users...", placeholder) }) }