Guest User

Untitled

a guest
Jun 19th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.83 KB | None | 0 0
  1. # tests/front_end_tests.py
  2.  
  3. import time
  4. from flask import url_for
  5.  
  6. class TestLogin(TestBase):
  7.  
  8. def test_login(self):
  9. self.driver.find_element_by_id("login_link").click()
  10. time.sleep(1)
  11. self.driver.find_element_by_id("email").send_keys(test_employee1_email)
  12. self.driver.find_element_by_id("password").send_keys(
  13. test_employee1_password)
  14. self.driver.find_element_by_id("submit").click()
  15. time.sleep(2)
  16. assert url_for('home.dashboard') in self.driver.current_url
  17. username_greeting = self.driver.find_element_by_id(
  18. "username_greeting").text
  19. assert "Olá, usuário1 !" in username_greeting
  20.  
  21. def test_admin_login(self):
  22. self.driver.find_element_by_id("login_link").click()
  23. time.sleep(1)
  24. self.driver.find_element_by_id("email").send_keys(test_admin_email)
  25. self.driver.find_element_by_id("password").send_keys(
  26. test_admin_password)
  27. self.driver.find_element_by_id("submit").click()
  28. time.sleep(2)
  29. assert url_for('home.admin_dashboard') in self.driver.current_url
  30. username_greeting = self.driver.find_element_by_id(
  31. "username_greeting").text
  32. assert "Olá, admin!" in username_greeting
  33.  
  34. def test_login_invalid_email_format(self):
  35. self.driver.find_element_by_id("login_link").click()
  36. time.sleep(1)
  37. self.driver.find_element_by_id("email").send_keys("invalid")
  38. self.driver.find_element_by_id("password").send_keys(
  39. test_employee1_password)
  40. self.driver.find_element_by_id("submit").click()
  41. time.sleep(2)
  42. error_message = self.driver.find_element_by_class_name(
  43. "help-block").text
  44. assert "Email inválido." in error_message
  45.  
  46. def test_login_wrong_email(self):
  47. # Click login menu link
  48. self.driver.find_element_by_id("login_link").click()
  49. time.sleep(1)
  50. self.driver.find_element_by_id("email").send_keys(test_employee2_email)
  51. self.driver.find_element_by_id("password").send_keys(
  52. test_employee1_password)
  53. self.driver.find_element_by_id("submit").click()
  54. time.sleep(2)
  55. error_message = self.driver.find_element_by_class_name("alert").text
  56. assert "Invalid email or password" in error_message
  57.  
  58. def test_login_wrong_password(self):
  59. self.driver.find_element_by_id("login_link").click()
  60. time.sleep(1)
  61. self.driver.find_element_by_id("email").send_keys(test_employee1_email)
  62. self.driver.find_element_by_id("password").send_keys(
  63. "invalid")
  64. self.driver.find_element_by_id("submit").click()
  65. time.sleep(2)
  66. error_message = self.driver.find_element_by_class_name("alert").text
  67. assert "Invalid email or password" in error_message
  68.  
  69. class CreateObjects(object):
  70.  
  71. def login_admin_user(self):
  72. login_link = self.get_server_url() + url_for('auth.login')
  73. self.driver.get(login_link)
  74. self.driver.find_element_by_id("email").send_keys(test_admin_email)
  75. self.driver.find_element_by_id("password").send_keys(
  76. test_admin_password)
  77. self.driver.find_element_by_id("submit").click()
  78.  
  79. def login_test_user(self):
  80. login_link = self.get_server_url() + url_for('auth.login')
  81. self.driver.get(login_link)
  82. self.driver.find_element_by_id("email").send_keys(test_employee1_email)
  83. self.driver.find_element_by_id("password").send_keys(
  84. test_employee1_password)
  85. self.driver.find_element_by_id("submit").click()
  86.  
  87. class TestDados(CreateObjects, TestBase):
  88. # equipamento existe
  89. def test_view_existing_equipment(self):
  90. self.login_admin_user()
  91. self.driver.find_element_by_id("equipments_link").click()
  92. time.sleep(1)
  93. self.driver.find_element_by_class_name("btn").click()
  94. time.sleep(1)
  95. self.driver.find_element_by_id("codigo").send_keys(test_equipment1_name)
  96. self.driver.find_element_by_id("description").send_keys(test_equipment1_description)
  97. self.driver.find_element_by_id("submit").click()
  98. time.sleep(2)
  99. error_message = self.driver.find_element_by_class_name("alert").text
  100. assert "Error: equipment name don't exists" in error_message
  101. self.assertEqual(Equipment.query.count(), 1)
  102.  
  103. def test_view_equipment_data(self): # B e C
  104. # dados existem e estão no mapa
  105. self.login_test_user()
  106. self.driver.find_element_by_id("equipments_link").click()
  107. time.sleep(1)
  108. self.driver.find_element_by_class_name("btn").click()
  109. time.sleep(1)
  110. self.driver.find_element_by_id("codigo").send_keys(test_equipment1_name)
  111. self.driver.find_element_by_id("description").send_keys(test_equipment1_description)
  112. self.driver.find_element_by_id("submit").click()
  113. time.sleep(2)
  114. self.driver.find_element_by_id("data_equipment_link").click()
  115. time.sleep(1)
  116. success_message = self.driver.find_element_by_class_name("alert").text
  117. assert "Equipment data plotted in map." in success_message
  118. error_message = self.driver.find_element_by_class_name("alert").text
  119. assert "Error: no data." in error_message
  120.  
  121. def test_view_equipment_log_data(self): # A
  122. # dados chegando
  123. self.login_admin_user()
  124. self.driver.find_element_by_id("equipments_link").click()
  125. time.sleep(1)
  126. self.driver.find_element_by_class_name("btn").click()
  127. time.sleep(1)
  128. self.driver.find_element_by_id("codigo").send_keys(test_equipment1_name)
  129. time.sleep(2)
  130. self.driver.find_element_by_id("datalog_equipment_link").click()
  131. time.sleep(1)
  132. success_message = self.driver.find_element_by_class_name("alert").text
  133. assert "Receiving equipment data." in success_message
  134. error_message = self.driver.find_element_by_class_name("alert").text
  135. assert "Error: no data." in error_message
  136.  
  137. def test_view_equipment_data(self): # B e D
  138. # dados existem e estão no mapa. Admin seleciona equipamentos
  139. self.login_admin_user()
  140. self.driver.find_element_by_id("equipments_link").click()
  141. time.sleep(1)
  142. self.driver.find_element_by_class_name("btn").click()
  143. time.sleep(1)
  144. self.driver.find_element_by_id("codigo").send_keys(test_equipment1_name)
  145. self.driver.find_element_by_id("description").send_keys(test_equipment1_description)
  146. self.driver.find_element_by_id("submit").click()
  147. time.sleep(2)
  148. self.driver.find_element_by_id("data_equipment_link").click()
  149. time.sleep(1)
  150. success_message = self.driver.find_element_by_class_name("alert").text
  151. assert "Equipment data plotted in map." in success_message
  152. error_message = self.driver.find_element_by_class_name("alert").text
  153. assert "Error: no data." in error_message
Add Comment
Please, Sign In to add comment