[TESTS] auth LinkAccount test coverage

This commit is contained in:
Earl Warren 2023-06-05 11:29:07 +02:00
parent c1d14c5fff
commit e11dcc60f2
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)
}
}