feat: add pronoun privacy option (#6773)
This commit contains UI changes, tests and migrations for a feature that lets users optionally hide their pronouns from the general public. This is useful if a person wants to disclose that information to a smaller set of people on a local instance belonging to a local community/association. Co-authored-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: Beowulf <beowulf@beocode.eu> Reviewed-on: https://codeberg.org/forgejo/forgejo/pulls/6773 Reviewed-by: Gusted <gusted@noreply.codeberg.org> Co-authored-by: Panagiotis "Ivory" Vasilopoulos <git@n0toose.net> Co-committed-by: Panagiotis "Ivory" Vasilopoulos <git@n0toose.net>
This commit is contained in:
parent
7104c73c96
commit
a1486b0ee4
17 changed files with 158 additions and 25 deletions
|
@ -795,3 +795,42 @@ func TestGetInactiveUsers(t *testing.T) {
|
|||
require.NoError(t, err)
|
||||
require.Empty(t, users)
|
||||
}
|
||||
|
||||
func TestPronounsPrivacy(t *testing.T) {
|
||||
require.NoError(t, unittest.PrepareTestDatabase())
|
||||
t.Run("EmptyPronounsIfNoneSet", func(t *testing.T) {
|
||||
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
|
||||
user.Pronouns = ""
|
||||
user.KeepPronounsPrivate = false
|
||||
|
||||
assert.Equal(t, "", user.GetPronouns(false))
|
||||
})
|
||||
t.Run("EmptyPronounsIfSetButPrivateAndNotLoggedIn", func(t *testing.T) {
|
||||
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
|
||||
user.Pronouns = "any"
|
||||
user.KeepPronounsPrivate = true
|
||||
|
||||
assert.Equal(t, "", user.GetPronouns(false))
|
||||
})
|
||||
t.Run("ReturnPronounsIfSetAndNotPrivateAndNotLoggedIn", func(t *testing.T) {
|
||||
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
|
||||
user.Pronouns = "any"
|
||||
user.KeepPronounsPrivate = false
|
||||
|
||||
assert.Equal(t, "any", user.GetPronouns(false))
|
||||
})
|
||||
t.Run("ReturnPronounsIfSetAndPrivateAndLoggedIn", func(t *testing.T) {
|
||||
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
|
||||
user.Pronouns = "any"
|
||||
user.KeepPronounsPrivate = false
|
||||
|
||||
assert.Equal(t, "any", user.GetPronouns(true))
|
||||
})
|
||||
t.Run("ReturnPronounsIfSetAndNotPrivateAndLoggedIn", func(t *testing.T) {
|
||||
user := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
|
||||
user.Pronouns = "any"
|
||||
user.KeepPronounsPrivate = true
|
||||
|
||||
assert.Equal(t, "any", user.GetPronouns(true))
|
||||
})
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue