test_create_project.py 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. from __future__ import absolute_import
  2. from sentry.testutils import AcceptanceTestCase
  3. from sentry.models import Project
  4. from sentry.utils.compat.mock import patch
  5. class CreateProjectTest(AcceptanceTestCase):
  6. def setUp(self):
  7. super(CreateProjectTest, self).setUp()
  8. self.user = self.create_user("foo@example.com")
  9. self.org = self.create_organization(name="Rowdy Tiger")
  10. self.login_as(self.user)
  11. self.path = u"/organizations/{}/projects/new/".format(self.org.slug)
  12. @patch("django.db.models.signals.ModelSignal.send")
  13. def test_simple(self, mock_signal):
  14. self.team = self.create_team(organization=self.org, name="Mariachi Band")
  15. self.create_member(user=self.user, organization=self.org, role="owner", teams=[self.team])
  16. self.browser.get(self.path)
  17. self.browser.wait_until_not(".loading")
  18. self.browser.click('[data-test-id="platform-java"]')
  19. self.browser.snapshot(name="create project")
  20. self.browser.click('[data-test-id="create-project"]')
  21. self.browser.wait_until_not(".loading")
  22. self.browser.wait_until("#installation")
  23. project = Project.objects.get(organization=self.org)
  24. assert project.name == "Java"
  25. assert project.platform == "java"
  26. assert project.teams.first() == self.team
  27. self.browser.snapshot(name="docs redirect")
  28. def test_no_teams(self):
  29. self.create_member(user=self.user, organization=self.org, role="owner", teams=[])
  30. self.browser.get(self.path)
  31. self.browser.wait_until_not(".loading")
  32. self.browser.click('[data-test-id="create-team"]')
  33. self.browser.wait_until(".modal-dialog")
  34. input = self.browser.element('input[name="slug"]')
  35. input.send_keys("new-team")
  36. self.browser.element(".modal-dialog form").submit()
  37. # After creating team, should end up in onboarding screen
  38. self.browser.wait_until(xpath='//span[text()="#new-team"]')
  39. self.browser.snapshot(name="create project no teams - after create team")
  40. def test_many_teams(self):
  41. self.team = self.create_team(organization=self.org, name="Mariachi Band")
  42. self.team2 = self.create_team(organization=self.org, name="team two")
  43. self.create_member(
  44. user=self.user, organization=self.org, role="owner", teams=[self.team, self.team2]
  45. )
  46. self.browser.get(self.path)
  47. self.browser.wait_until_not(".loading")
  48. self.browser.snapshot(name="create project many teams")