forgejo/tests/integration/repo_collaborator_test.go

38 lines
1.2 KiB
Go

// 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)
})
}