test_create_project.py 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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(
  9. name='Rowdy Tiger',
  10. )
  11. self.login_as(self.user)
  12. self.path = u'/organizations/{}/projects/new/'.format(self.org.slug)
  13. def test_simple(self):
  14. self.team = self.create_team(organization=self.org, name='Mariachi Band')
  15. self.create_member(
  16. user=self.user,
  17. organization=self.org,
  18. role='owner',
  19. teams=[self.team],
  20. )
  21. self.browser.get(self.path)
  22. self.browser.wait_until_not('.loading')
  23. self.browser.click('[data-test-id="platform-java"]')
  24. self.browser.snapshot(name='create project')
  25. self.browser.click('[data-test-id="create-project"]')
  26. self.browser.wait_until(title='java')
  27. self.browser.wait_until_not('.loading')
  28. project = Project.objects.get(organization=self.org)
  29. assert project.name == 'Java'
  30. assert project.platform == 'java'
  31. assert project.teams.first() == self.team
  32. self.browser.snapshot(name='docs redirect')
  33. def test_no_teams(self):
  34. self.create_member(
  35. user=self.user,
  36. organization=self.org,
  37. role='owner',
  38. teams=[],
  39. )
  40. self.browser.get(self.path)
  41. self.browser.wait_until_not('.loading')
  42. self.browser.click('[data-test-id="create-team"]')
  43. self.browser.wait_until('.modal-dialog')
  44. input = self.browser.element('input[name="slug"]')
  45. input.send_keys('new-team')
  46. self.browser.element('.modal-dialog form').submit()
  47. # After creating team, should end up in onboarding screen
  48. self.browser.wait_until(xpath='//span[text()="#new-team"]')
  49. self.browser.snapshot(name='create project no teams - after create team')
  50. def test_many_teams(self):
  51. self.team = self.create_team(organization=self.org, name='Mariachi Band')
  52. self.team2 = self.create_team(organization=self.org, name='team two')
  53. self.create_member(
  54. user=self.user,
  55. organization=self.org,
  56. role='owner',
  57. teams=[self.team, self.team2],
  58. )
  59. self.browser.get(self.path)
  60. self.browser.wait_until_not('.loading')
  61. self.browser.snapshot(name='create project many teams')