Guest User

Untitled

a guest
Jan 22nd, 2018
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.45 KB | None | 0 0
  1. do ->
  2. 'use strict'
  3.  
  4. ### globals describe,it,browser,expect ###
  5.  
  6. describe 'On arriving to a conflicted snap that was previously assessed', ->
  7.  
  8. describe 'should have correct elements, title, and URL', ->
  9. unassessedSnapPage = null
  10. assessedSnapPage = null
  11. conflictedSnapPage = null
  12.  
  13. beforeAll ->
  14. loginPage = require '../login/page/login-page.js'
  15. loginPage.load()
  16. chainLaunchpadPage = loginPage.login browser.params.userEmail, browser.params.userPassword
  17. dashboardPage = chainLaunchpadPage.clickOnFirstLocationCard()
  18. dashboardPage.setChainIdFromLocalStorage()
  19. dashboardPage.setLocationIdFromLocalStorage()
  20. dashboardPage.setUserIdFromLocalStorage()
  21. unassessedTabPage = dashboardPage.clickOnUnassessedTab()
  22. unassessedSnapPage = unassessedTabPage.clickOnFirstCard()
  23.  
  24. it 'pick a service recommendation', ->
  25. expect(unassessedSnapPage.servicesDropdown.isPresent()).toEqual true
  26. unassessedSnapPage.servicesDropdown.sendKeys browser.params.recommended.service
  27. # unassessedSnapPage.servicesDropdown.all(By.tagName('option')).then (options) -> options[0].click()
  28.  
  29. it 'add the selected service', ->
  30. unassessedSnapPage.addServiceButton.click()
  31.  
  32. it 'pick a stylist recommendation', ->
  33. expect(unassessedSnapPage.stylistsDropdown.isPresent()).toEqual true
  34. unassessedSnapPage.stylistsDropdown.sendKeys browser.params.recommended.stylist
  35. # unassessedSnapPage.stylistsDropdown.all(By.tagName('option')).then (options) -> options[0].click()
  36.  
  37. it 'add the selected stylist', ->
  38. unassessedSnapPage.addStylistButton.click()
  39. unassessedSnapPage.setSnapIdFromUrl().then () ->
  40. assessedSnapPage = unassessedSnapPage.clickOnReadyToBookButton()
  41. expect(browser.getLocationAbsUrl()).toEqual "/snap/assessed/#{browser.params.snapId}"
  42.  
  43. it 'should go to the assessed snap and send it to conflicted', ->
  44. conflictedSnapPage = assessedSnapPage.clickOnSendToConflictedButton()
  45. expect(browser.getLocationAbsUrl()).toEqual "/snap/conflicted/#{browser.params.snapId}"
  46.  
  47. it 'should display the correct title', ->
  48. expect(browser.getTitle()).toBe 'Snap Manager'
  49.  
  50. it 'should load the correct URL', ->
  51. expect(browser.getLocationAbsUrl()).toEqual "/snap/conflicted/#{browser.params.snapId}"
  52.  
  53. it 'should have a status label of "CONFLICTED"', ->
  54. expect(conflictedSnapPage.statusLabel.getText()).toEqual 'CONFLICTED'
  55.  
  56. describe 'after being sent from assessed to conflicted, edited, saved, and then send back to assessed', ->
  57. unassessedSnapPage = null
  58. assessedSnapPage = null
  59. conflictedSnapPage = null
  60. returnedToPage = null
  61.  
  62. beforeAll ->
  63. loginPage = require '../login/page/login-page.js'
  64. loginPage.load()
  65. chainLaunchpadPage = loginPage.login browser.params.userEmail, browser.params.userPassword
  66. dashboardPage = chainLaunchpadPage.clickOnFirstLocationCard()
  67. dashboardPage.setChainIdFromLocalStorage()
  68. dashboardPage.setLocationIdFromLocalStorage()
  69. dashboardPage.setUserIdFromLocalStorage()
  70. unassessedTabPage = dashboardPage.clickOnUnassessedTab()
  71. unassessedSnapPage = unassessedTabPage.clickOnFirstCard()
  72.  
  73. it 'pick a service recommendation', ->
  74. expect(unassessedSnapPage.servicesDropdown.isPresent()).toEqual true
  75. unassessedSnapPage.servicesDropdown.sendKeys browser.params.recommended.service
  76. # unassessedSnapPage.servicesDropdown.all(By.tagName('option')).then (options) -> options[0].click()
  77.  
  78. it 'add the selected service', ->
  79. unassessedSnapPage.addServiceButton.click()
  80.  
  81. it 'pick a stylist recommendation', ->
  82. expect(unassessedSnapPage.stylistsDropdown.isPresent()).toEqual true
  83. unassessedSnapPage.stylistsDropdown.sendKeys browser.params.recommended.stylist
  84. # unassessedSnapPage.stylistsDropdown.all(By.tagName('option')).then (options) -> options[0].click()
  85.  
  86. it 'add the selected stylist', ->
  87. unassessedSnapPage.addStylistButton.click()
  88. unassessedSnapPage.setSnapIdFromUrl().then () ->
  89. assessedSnapPage = unassessedSnapPage.clickOnReadyToBookButton()
  90. expect(browser.getLocationAbsUrl()).toEqual "/snap/assessed/#{browser.params.snapId}"
  91.  
  92. it 'should go to the assessed snap and send it to conflicted', ->
  93. conflictedSnapPage = assessedSnapPage.clickOnSendToConflictedButton()
  94. expect(browser.getLocationAbsUrl()).toEqual "/snap/conflicted/#{browser.params.snapId}"
  95.  
  96. it 'should click edit button', ->
  97. conflictedSnapPage.editButton.click()
  98.  
  99. it 'should enter new assessorsNote', ->
  100. conflictedSnapPage.assessorsNote.sendKeys 'I am editing this note in conflicted mode!'
  101.  
  102. it 'should click save button', ->
  103. conflictedSnapPage.saveButton.click()
  104. browser.sleep 3000
  105. expect(conflictedSnapPage.sendToButton.getText()).toEqual 'SEND BACK TO ASSESSED'
  106.  
  107. it 'should take snap back to assessed', ->
  108. conflictedSnapPage.clickOnSendToButton()
  109. browser.sleep 3000
  110. returnedToPage = unassessedSnapPage
  111. expect(browser.getLocationAbsUrl()).toEqual "/snap/assessed/#{browser.params.snapId}"
  112.  
  113. it 'should have a status label present', ->
  114. expect(returnedToPage.statusLabel.isPresent()).toEqual true
  115.  
  116. it 'should have a status label of "ASSESSED"', ->
  117. expect(returnedToPage.statusLabel.getText()).toEqual 'ASSESSED'
Add Comment
Please, Sign In to add comment