[TESTS] auth LinkAccount test coverage

(cherry picked from commit e11dcc60f2)

use backticks to avoid backslash

(cherry picked from commit 34212791ee)
(cherry picked from commit b76c67c99f)
(cherry picked from commit c3c21e3b6b)
(cherry picked from commit 9f4c722db4)
This commit is contained in:
Earl Warren 2023-06-05 11:29:07 +02:00
parent 040fe78727
commit e5360c908a
No known key found for this signature in database
GPG key ID: 0579CB2928A78A00

View file

@ -0,0 +1,63 @@
// Copyright 2023 The Forgejo Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package integration
import (
"net/http"
"testing"
gitea_context "code.gitea.io/gitea/modules/context"
"code.gitea.io/gitea/tests"
"github.com/markbates/goth"
"github.com/stretchr/testify/assert"
)
func TestLinkAccountChoose(t *testing.T) {
defer tests.PrepareTestEnv(t)()
username := "linkaccountuser"
email := "linkaccountuser@example.com"
password := "linkaccountuser"
defer createUser(t, username, email, password)()
defer func() {
testMiddlewareHook = nil
}()
for _, testCase := range []struct {
gothUser goth.User
signupTab string
signinTab string
}{
{
gothUser: goth.User{},
signupTab: "item active",
signinTab: "item ",
},
{
gothUser: goth.User{
Email: email,
},
signupTab: "item ",
signinTab: "item active",
},
} {
testMiddlewareHook = func(ctx *gitea_context.Context) {
ctx.Session.Set("linkAccountGothUser", testCase.gothUser)
}
req := NewRequest(t, "GET", "/user/link_account")
resp := MakeRequest(t, req, http.StatusOK)
assert.Equal(t, resp.Code, http.StatusOK, resp.Body)
doc := NewHTMLParser(t, resp.Body)
class, exists := doc.Find(`.new-menu-inner .item[data-tab="auth-link-signup-tab"]`).Attr("class")
assert.True(t, exists, resp.Body)
assert.Equal(t, testCase.signupTab, class)
class, exists = doc.Find(`.new-menu-inner .item[data-tab="auth-link-signin-tab"]`).Attr("class")
assert.True(t, exists)
assert.Equal(t, testCase.signinTab, class)
}
}