tests.py 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. from django.test import TestCase
  2. from django.utils import timezone
  3. from catalog.models import Project, Canvas, CanvasTag, Idea, IdeaComment
  4. from django.contrib.auth.models import User
  5. import pytz
  6. import datetime
  7. from django.contrib.staticfiles.testing import StaticLiveServerTestCase
  8. from channels.testing import ChannelsLiveServerTestCase
  9. from selenium import webdriver
  10. from selenium.webdriver.common.action_chains import ActionChains
  11. from selenium.webdriver.support.wait import WebDriverWait
  12. # def test_idea_add(self):
  13. # self.browser.get('http://localhost:8000')
  14. # test_user = User.objects.create_user(
  15. # username=f'test',
  16. # email=f'test@example.com',
  17. # password='zyxwvuts'
  18. # )
  19. # self.selenium.get('%s%s' % (self.live_server_url, '/accounts/login/'))
  20. # username_input = self.selenium.find_element_by_name("username")
  21. # username_input.send_keys('test')
  22. # password_input = self.selenium.find_element_by_name("password")
  23. # password_input.send_keys('zyxwvuts')
  24. # self.selenium.find_element_by_xpath('//input[@value="login"]').click()
  25. # project = Project(
  26. # owner=test_user,
  27. # is_public=False
  28. # )
  29. # project.save()
  30. # project.admins.add(test_user)
  31. # project.users.add(test_user)
  32. # project.save()
  33. # self.selenium.find_element_by_id('new-project').click()
  34. # canvas = Canvas(
  35. # project=project
  36. # )
  37. # canvas.save()
  38. # self.selenium.find_element_by_id('new-ethics-canvas').click()
  39. # # self.selenium.get('%s%s' % (self.live_server_url, f'/catalog/canvas/{canvas.pk}'))
  40. # # first_idea_div = self.selenium.find_element_by_class_name('idea-flex-container-0')
  41. # for i in range(0, 10):
  42. # self.selenium.find_element_by_css_selector(f'.idea-flex-container-{i} > .main-idea-buttons > #new-idea-button').click()
  43. # # button.click()
  44. # idea_input = self.selenium.find_element_by_css_selector('.idea-flex-container-0 > .idea-container > textarea.idea-input ')
  45. # idea_input.send_keys('DJANGO YOU MOTHERFUCKER!')
  46. # VIEWS THAT NEED TEST CASES:
  47. # new_project
  48. # class ProjectViewTestCases(TestCase):
  49. # def setUpTestData(cls):
  50. # for i in range(TEST_LIMIT):
  51. # User.objects.create_user(
  52. # username=f'test_{i}',
  53. # email=f'test{i}@example.com',
  54. # password='zyxwvuts'
  55. # )
  56. # project = Project(
  57. # owner=test_user
  58. # )
  59. # project.admins.add(test_user)
  60. # project.users.add(test_user)
  61. # project.save()
  62. # delete_project
  63. # new_canvas
  64. # delete_canvas
  65. # ProjectListView
  66. # ProjectDetailView
  67. # CanvasDetailView
  68. # new_idea
  69. # delete_idea
  70. # idea_detail
  71. # comment_thread
  72. # new_comment
  73. # delete_comment
  74. # comment_resolve
  75. # index
  76. # register
  77. # add_user
  78. # delete_user
  79. # promote_user
  80. # demote_user
  81. # toggle_public
  82. # add_tag
  83. # remove_tag
  84. # delete_tag
  85. # get_canvasses_accessible_by_user
  86. # update_canvas_session_variables
  87. # search_canvas_for_tag
  88. # user_permission
  89. # admin_permission