tests: add basic tests for public teams feature
This commit is contained in:
parent
71689fce67
commit
3f500c3df5
|
@ -29,8 +29,16 @@
|
|||
- id: 13
|
||||
name: testteam13
|
||||
created_by_id: 7
|
||||
is_public: true
|
||||
- id: 14
|
||||
name: testteam14
|
||||
created_by_id: 7
|
||||
oidc_id: 14
|
||||
issuer: "https://some.issuer"
|
||||
issuer: "https://some.issuer"
|
||||
- id: 15
|
||||
name: testteam15
|
||||
created_by_id: 7
|
||||
oidc_id: 15
|
||||
issuer: "https://some.issuer"
|
||||
is_public: true
|
||||
description: "This is a public team"
|
||||
|
|
|
@ -49,6 +49,7 @@ func TestTeam_Create(t *testing.T) {
|
|||
"id": team.ID,
|
||||
"name": "Testteam293",
|
||||
"description": "Lorem Ispum",
|
||||
"is_public": false,
|
||||
}, false)
|
||||
})
|
||||
t.Run("empty name", func(t *testing.T) {
|
||||
|
@ -61,6 +62,27 @@ func TestTeam_Create(t *testing.T) {
|
|||
require.Error(t, err)
|
||||
assert.True(t, IsErrTeamNameCannotBeEmpty(err))
|
||||
})
|
||||
t.Run("public", func(t *testing.T) {
|
||||
db.LoadAndAssertFixtures(t)
|
||||
s := db.NewSession()
|
||||
defer s.Close()
|
||||
|
||||
team := &Team{
|
||||
Name: "Testteam293_Public",
|
||||
Description: "Lorem Ispum",
|
||||
IsPublic: true,
|
||||
}
|
||||
err := team.Create(s, doer)
|
||||
require.NoError(t, err)
|
||||
err = s.Commit()
|
||||
require.NoError(t, err)
|
||||
db.AssertExists(t, "teams", map[string]interface{}{
|
||||
"id": team.ID,
|
||||
"name": "Testteam293_Public",
|
||||
"description": "Lorem Ispum",
|
||||
"is_public": true,
|
||||
}, false)
|
||||
})
|
||||
}
|
||||
|
||||
func TestTeam_ReadOne(t *testing.T) {
|
||||
|
|
|
@ -128,8 +128,41 @@ func TestGetOrCreateUser(t *testing.T) {
|
|||
"email": cl.Email,
|
||||
}, false)
|
||||
db.AssertExists(t, "teams", map[string]interface{}{
|
||||
"id": oidcTeams,
|
||||
"name": team + " (OIDC)",
|
||||
"id": oidcTeams,
|
||||
"name": team + " (OIDC)",
|
||||
"is_public": false,
|
||||
}, false)
|
||||
})
|
||||
|
||||
t.Run("Update IsPublic flag for existing team", func(t *testing.T) {
|
||||
db.LoadAndAssertFixtures(t)
|
||||
s := db.NewSession()
|
||||
defer s.Close()
|
||||
|
||||
team := "testteam15"
|
||||
oidcID := "15"
|
||||
cl := &claims{
|
||||
Email: "other-email-address@some.service.com",
|
||||
VikunjaGroups: []map[string]interface{}{
|
||||
{"name": team, "oidcID": oidcID, "isPublic": true},
|
||||
},
|
||||
}
|
||||
|
||||
u, err := getOrCreateUser(s, cl, "https://some.service.com", "12345")
|
||||
require.NoError(t, err)
|
||||
teamData, errs := getTeamDataFromToken(cl.VikunjaGroups, nil)
|
||||
for _, err := range errs {
|
||||
require.NoError(t, err)
|
||||
}
|
||||
oidcTeams, err := AssignOrCreateUserToTeams(s, u, teamData, "https://some.issuer")
|
||||
require.NoError(t, err)
|
||||
err = s.Commit()
|
||||
require.NoError(t, err)
|
||||
|
||||
db.AssertExists(t, "teams", map[string]interface{}{
|
||||
"id": oidcTeams,
|
||||
"name": team + " (OIDC)",
|
||||
"is_public": true,
|
||||
}, false)
|
||||
})
|
||||
|
||||
|
|
Loading…
Reference in New Issue