test_accept_organization_invite.py 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. from __future__ import absolute_import
  2. from django.db.models import F
  3. from sentry.testutils import AcceptanceTestCase
  4. from sentry.models import Organization
  5. class AcceptOrganizationInviteTest(AcceptanceTestCase):
  6. def setUp(self):
  7. super(AcceptOrganizationInviteTest, self).setUp()
  8. self.user = self.create_user('foo@example.com')
  9. self.org = self.create_organization(
  10. name='Rowdy Tiger',
  11. owner=None,
  12. )
  13. self.team = self.create_team(organization=self.org, name='Mariachi Band')
  14. self.member = self.create_member(
  15. user=None,
  16. email='bar@example.com',
  17. organization=self.org,
  18. role='owner',
  19. teams=[self.team],
  20. )
  21. def test_invite_simple(self):
  22. self.login_as(self.user)
  23. self.browser.get(self.member.get_invite_link().split('/', 3)[-1])
  24. self.browser.snapshot(name='accept organization invite')
  25. assert self.browser.element_exists_by_test_id('join-organization')
  26. def test_invite_not_authenticated(self):
  27. self.browser.get(self.member.get_invite_link().split('/', 3)[-1])
  28. assert self.browser.element_exists_by_test_id('create-account')
  29. def test_invite_2fa_enforced_org(self):
  30. self.login_as(self.user)
  31. self.org.update(flags=F('flags').bitor(Organization.flags.require_2fa))
  32. self.browser.get(self.member.get_invite_link().split('/', 3)[-1])
  33. assert self.browser.element_exists_by_test_id('setup-2fa')