You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

team_invite_test.go 1.4KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  1. // Copyright 2022 The Gitea Authors. All rights reserved.
  2. // SPDX-License-Identifier: MIT
  3. package organization_test
  4. import (
  5. "testing"
  6. "code.gitea.io/gitea/models/db"
  7. "code.gitea.io/gitea/models/organization"
  8. "code.gitea.io/gitea/models/unittest"
  9. user_model "code.gitea.io/gitea/models/user"
  10. "github.com/stretchr/testify/assert"
  11. )
  12. func TestTeamInvite(t *testing.T) {
  13. assert.NoError(t, unittest.PrepareTestDatabase())
  14. team := unittest.AssertExistsAndLoadBean(t, &organization.Team{ID: 2})
  15. t.Run("MailExistsInTeam", func(t *testing.T) {
  16. user2 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
  17. // user 2 already added to team 2, should result in error
  18. _, err := organization.CreateTeamInvite(db.DefaultContext, user2, team, user2.Email)
  19. assert.Error(t, err)
  20. })
  21. t.Run("CreateAndRemove", func(t *testing.T) {
  22. user1 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
  23. invite, err := organization.CreateTeamInvite(db.DefaultContext, user1, team, "org3@example.com")
  24. assert.NotNil(t, invite)
  25. assert.NoError(t, err)
  26. // Shouldn't allow duplicate invite
  27. _, err = organization.CreateTeamInvite(db.DefaultContext, user1, team, "org3@example.com")
  28. assert.Error(t, err)
  29. // should remove invite
  30. assert.NoError(t, organization.RemoveInviteByID(db.DefaultContext, invite.ID, invite.TeamID))
  31. // invite should not exist
  32. _, err = organization.GetInviteByToken(db.DefaultContext, invite.Token)
  33. assert.Error(t, err)
  34. })
  35. }