Advertisement
Guest User

Untitled

a guest
Nov 15th, 2019
110
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.80 KB | None | 0 0
  1. import { browser } from 'protractor';
  2. const pageObject = require('../../../pages/pages').container.PageObject;
  3. import { commonHelper } from '../../../helpers/common.helper';
  4. import { apiHelper } from '../../../helpers/api_helper';
  5. import { dbHelper } from '../../../helpers/db_helper';
  6. import { USERS } from '../../../data/sign_in/smoke';
  7. const showcaseData = require('../../../data/showcase/index');
  8.  
  9. const roles = {
  10. teacher: {
  11. credentials: USERS.hwPlanSpec.teacher,
  12. browser: browser,
  13. pages: {
  14. signIn: pageObject.getSignInPage(browser),
  15. showcase: pageObject.getShowcasePage(browser),
  16. room: pageObject.getRoomPage(browser),
  17. },
  18. },
  19. student: {
  20. credentials: USERS.hwPlanSpec.student,
  21. browser: browser2,
  22. pages: {
  23. signIn: pageObject.getSignInPage(browser2),
  24. showcase: pageObject.getShowcasePage(browser2),
  25. room: pageObject.getRoomPage(browser2),
  26. },
  27. },
  28. };
  29.  
  30. const teacher = roles.teacher;
  31. const student = roles.student;
  32.  
  33. const lesson = showcaseData.lessons.myDreamRestaurant;
  34. const slideToSendAsHw = 'My restaurant';
  35.  
  36. let roomUrl;
  37. const expectedHwCounterValue = '11';
  38.  
  39. const homeworkPageLink = showcaseData.hwPageUrl;
  40.  
  41. describe('HOMEWORK PLAN @dev', () => {
  42. beforeAll(() => {
  43. browser.forkedInstances['secondBrowser'] = global.browser2;
  44. teacher.browser.waitForAngularEnabled(false);
  45. student.browser.waitForAngularEnabled(false);
  46. teacher.browser.get(browser.baseUrl);
  47. student.browser.get(browser.baseUrl);
  48. });
  49.  
  50. afterEach(() => {
  51. commonHelper.waitForPendingRequests(teacher.browser);
  52. commonHelper.waitForPendingRequests(student.browser);
  53. });
  54.  
  55. afterAll(() => {
  56. commonHelper.clearAllData(teacher.browser);
  57. commonHelper.clearAllData(student.browser);
  58. browser.forkedInstances['secondBrowser'] = null;
  59. });
  60.  
  61. it('should remove sent hw and reset results', done => {
  62. commonHelper.handlePromise(dbHelper.deleteHw(teacher.credentials.id), done);
  63. });
  64.  
  65. it('should login as teacher', () => {
  66. teacher.pages.signIn.login(teacher.credentials.email, teacher.credentials.password);
  67. });
  68.  
  69. it('should login as student', () => {
  70. student.pages.signIn.login(student.credentials.email, student.credentials.password);
  71. });
  72.  
  73. it('should create room', done => {
  74. apiHelper.startLessonById(lesson.id, student.credentials.id).then(
  75. result => {
  76. roomUrl = result.url.replace('?source_type=test&utm_source=autotest', '');
  77. done();
  78. },
  79. error => {
  80. console.dir(error);
  81. done.fail(error);
  82. },
  83. );
  84. });
  85.  
  86. it('should open room', () => {
  87. teacher.browser.get(roomUrl);
  88. student.browser.get(roomUrl);
  89. teacher.pages.room.clickContinueToLesson();
  90. });
  91.  
  92. it('should not see [Homework] tool inside lesson #8725', () => {
  93. commonHelper.waitUntilElementInvisible(
  94. teacher.pages.room.btnHomeworkPlan,
  95. teacher.browser,
  96. '[Homework plan] tool is visible for teacher',
  97. );
  98. commonHelper.waitUntilElementInvisible(
  99. student.pages.room.btnHomeworkPlan,
  100. student.browser,
  101. '[Homework plan] tool is visible for student',
  102. );
  103. });
  104.  
  105. it('should finish lesson', () => {
  106. teacher.pages.room.closeLessonAsFinished();
  107. teacher.pages.showcase.leftMenu.clickShowcase();
  108. });
  109.  
  110. it('should open lesson in view mode @local @dev', () => {
  111. teacher.pages.showcase.studentList.selectStudent(student.credentials.name);
  112. teacher.pages.showcase.viewLesson(lesson.name);
  113. }, 60000);
  114.  
  115. it('should see [Attachments] tab in view mode as teacher #8212', () => {
  116. commonHelper.waitUntilElementVisible(
  117. teacher.pages.room.btnAttachment,
  118. teacher.browser,
  119. '[Attachments] tab is not visible',
  120. );
  121. });
  122.  
  123. it('should add homework from lesson slide', () => {
  124. teacher.pages.room.selectSlide('Lesson', slideToSendAsHw);
  125. teacher.pages.room.clickSendAsHomework();
  126. });
  127.  
  128. it('should see hw counter after lesson slide was sent #8732', () => {
  129. commonHelper.waitUntilTextInElement(
  130. teacher.pages.room.icoHomeworkCounter,
  131. '1',
  132. teacher.browser,
  133. 'Wrong hw counter value - not "1"',
  134. );
  135. });
  136.  
  137. it('should send all slides from [Homework] folder', () => {
  138. teacher.pages.room.sendAllCustomHw();
  139. });
  140.  
  141. it('should see hw counter after hw slides were sent #8740', () => {
  142. commonHelper.waitUntilTextInElement(
  143. teacher.pages.room.icoHomeworkCounter,
  144. expectedHwCounterValue,
  145. teacher.browser,
  146. `Wrong hw counter value - not "${expectedHwCounterValue}"`,
  147. );
  148. });
  149.  
  150. it('should open /homework page as student', () => {
  151. student.browser.get(homeworkPageLink);
  152. commonHelper.waitUntilElementPresent(
  153. student.pages.showcase.getHomeworkTitle(lesson.name),
  154. student.browser,
  155. 'Homework not present',
  156. );
  157. });
  158.  
  159. it('should open hw as student', () => {
  160. student.pages.showcase.hoverStudentLesson(lesson.name);
  161. student.pages.showcase.clickViewMaterial(lesson.name);
  162. commonHelper.waitUntilElementVisible(student.pages.room.btnFinish, student.browser, 'Btn [Finish] not visible');
  163. }, 60000);
  164.  
  165. it('should see hw counter as student #8769', () => {
  166. commonHelper.waitUntilTextInElement(
  167. student.pages.room.icoHomeworkCounter,
  168. expectedHwCounterValue,
  169. student.browser,
  170. `Wrong hw counter value - not "${expectedHwCounterValue}"`,
  171. );
  172. commonHelper.waitUntilElementVisible(
  173. student.pages.room.hwPlanSteps,
  174. student.browser,
  175. 'HW plan steps are not visible',
  176. );
  177. });
  178.  
  179. it('should see [Attachments] tab inside HW as student #8433', () => {
  180. commonHelper.waitUntilElementVisible(
  181. student.pages.room.btnAttachment,
  182. student.browser,
  183. 'HW plan steps are not visible',
  184. );
  185. });
  186. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement