test_create_project.py 2.4 KB

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