Merge pull request #159 from ssb-ngi-pointer/members-list-role

show admin and moderator tags on members list
This commit is contained in:
André Staltz 2021-04-16 15:48:52 +03:00 committed by GitHub
commit 951711d46f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 29 additions and 7 deletions

View File

@ -107,9 +107,9 @@ func TestMembers(t *testing.T) {
}
ts.MembersDB.ListReturns(lst, nil)
membersOveriwURL := ts.URLTo(router.AdminMembersOverview)
membersOverviewURL := ts.URLTo(router.AdminMembersOverview)
html, resp := ts.Client.GetHTML(membersOveriwURL)
html, resp := ts.Client.GetHTML(membersOverviewURL)
a.Equal(http.StatusOK, resp.Code, "wrong HTTP status code")
webassert.Localized(t, html, []webassert.LocalizedElement{
@ -118,14 +118,20 @@ func TestMembers(t *testing.T) {
{"#membersCount", "MemberCountPlural"},
})
a.EqualValues(html.Find("#theList li").Length(), 3)
elems := html.Find("#theList li")
a.EqualValues(elems.Length(), 3)
// check for the roles labels
a.EqualValues(elems.Find("span[data-role]").Length(), 2)
a.EqualValues(elems.Find("span[data-role='admin']").Length(), 1)
a.EqualValues(elems.Find("span[data-role='moderator']").Length(), 1)
lst = []roomdb.Member{
{ID: 666, Role: roomdb.RoleAdmin, PubKey: refs.FeedRef{ID: bytes.Repeat([]byte{1}, 32), Algo: "one"}},
}
ts.MembersDB.ListReturns(lst, nil)
html, resp = ts.Client.GetHTML(membersOveriwURL)
html, resp = ts.Client.GetHTML(membersOverviewURL)
a.Equal(http.StatusOK, resp.Code, "wrong HTTP status code")
webassert.Localized(t, html, []webassert.LocalizedElement{
@ -134,12 +140,17 @@ func TestMembers(t *testing.T) {
{"#membersCount", "MemberCountSingular"},
})
elems := html.Find("#theList li")
elems = html.Find("#theList li")
a.EqualValues(elems.Length(), 1)
// check for the admin role label
roleElem, yes1 := elems.Find("span[data-role]").Eq(0).Attr("data-role")
a.True(yes1, "elem with data-role exists")
a.Equal("admin", roleElem)
// check for link to member details
link, yes := elems.ContentsFiltered("a").Attr("href")
a.True(yes, "a-tag has href attribute")
link, yes2 := elems.ContentsFiltered("a").Attr("href")
a.True(yes2, "a-tag has href attribute")
a.Equal("/admin/member?id=666", link)
}

View File

@ -44,6 +44,17 @@
{{range $member.Aliases}}
<span class="mr-1 text-purple-800 bg-purple-100 rounded-lg px-2">{{.Name}}</span>
{{end}}
{{if eq .Role.String "RoleModerator"}}
<span
data-role="moderator"
class="text-green-800 bg-green-100 border-green-800 rounded-lg px-2"
>{{i18n "RoleModerator"}}</span>
{{else if eq .Role.String "RoleAdmin"}}
<span
data-role="admin"
class="text-yellow-800 bg-yellow-100 border-yellow-800 rounded-lg px-2"
>{{i18n "RoleAdmin"}}</span>
{{end}}
</div>
</div>