gitea源码

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/organization"
  7. "code.gitea.io/gitea/models/unittest"
  8. user_model "code.gitea.io/gitea/models/user"
  9. "github.com/stretchr/testify/assert"
  10. )
  11. func TestTeamInvite(t *testing.T) {
  12. assert.NoError(t, unittest.PrepareTestDatabase())
  13. team := unittest.AssertExistsAndLoadBean(t, &organization.Team{ID: 2})
  14. t.Run("MailExistsInTeam", func(t *testing.T) {
  15. user2 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 2})
  16. // user 2 already added to team 2, should result in error
  17. _, err := organization.CreateTeamInvite(t.Context(), user2, team, user2.Email)
  18. assert.Error(t, err)
  19. })
  20. t.Run("CreateAndRemove", func(t *testing.T) {
  21. user1 := unittest.AssertExistsAndLoadBean(t, &user_model.User{ID: 1})
  22. invite, err := organization.CreateTeamInvite(t.Context(), user1, team, "org3@example.com")
  23. assert.NotNil(t, invite)
  24. assert.NoError(t, err)
  25. // Shouldn't allow duplicate invite
  26. _, err = organization.CreateTeamInvite(t.Context(), user1, team, "org3@example.com")
  27. assert.Error(t, err)
  28. // should remove invite
  29. assert.NoError(t, organization.RemoveInviteByID(t.Context(), invite.ID, invite.TeamID))
  30. // invite should not exist
  31. _, err = organization.GetInviteByToken(t.Context(), invite.Token)
  32. assert.Error(t, err)
  33. })
  34. }