def test_acknowledge_answer(self): """Test sector expert acknowledges answer """ util.checks_link_names(self, FINDER, constants.SE_ANSWERED) FINDER.link('Acknowledge Answer').click() util.checks_link_names(self, FINDER, constants.SE_CLOSED)
def test_create_and_submit_answer(self): """Test msauthority creates answer and submits it """ util.checks_link_names(self, FINDER, constants.MSA_PENDING) input = "Test answer." FINDER.link('Create answer').click() FINDER.css("#form-widgets-text").send_keys(input) FINDER.css('.formControls input').click() answer = FINDER.css('.commentanswer > .answerContent') self.assertEqual(answer.text, input) util.checks_link_names(self, FINDER, constants.MSA_PENDING_ANSWER_DRAFTING) FINDER.link('Edit answer').click() time.sleep(0.5) popup = FINDER.css('#form-widgets-text') popup.send_keys(Keys.HOME) popup.send_keys("(edited)") FINDER.xpath('//*[@id="form-buttons-save"]').click() edited_answer = FINDER.css('.commentanswer > .answerContent') self.assertEqual(edited_answer.text, '(edited)' + input) FINDER.link('Submit Answer').click() FINDER.link("Recall")
def test_add_observation(self): """ Test sectorexpert can add an observation. """ # click new observation button # time.sleep(1) FINDER.link('New observation').click() # fill in form fields FINDER.name('form.widgets.text').send_keys('Test observation') FINDER.name('form.widgets.year').send_keys('2017') FINDER.name('form.widgets.pollutants:list').click() FINDER.name('form.widgets.parameter:list').click() # submit form FINDER.name('form.buttons.save').click() # check saved information metadata_div = FINDER.css('.esdDiv').text self.assertTrue('Austria' in metadata_div) self.assertTrue('1A1' in metadata_div) self.assertTrue('SO2' in metadata_div) self.assertTrue('2017' in metadata_div) # expand collapsed elements so the next assertion works for elem in self.browser.find_elements_by_css_selector('.collapsed'): elem.click() # check saved text exists self.assertTrue('Test observation' in FINDER.css('.esdDiv').text) util.checks_link_names(self, FINDER, constants.SE_DRAFT_OBSERVATION)
def test_edit_question(self): """Test sector expert can edit question """ #Edit question FINDER.link('Edit question').click() # Focus on active element # time.sleep(1) WebDriverWait(self.browser, 10).until( EC.presence_of_element_located((By.ID, 'form-widgets-text'))) popup = FINDER.css('#form-widgets-text') popup.send_keys(Keys.HOME) popup.send_keys('(edited)') # Focus back to page content self.browser.switch_to.default_content() time.sleep(0.5) FINDER.xpath('//*[@id="form-buttons-save"]').click() time.sleep(0.5) #Check question edited edited_answer_content = WebDriverWait(self.browser, 10).until( EC.presence_of_element_located((By.CLASS_NAME, 'answerContent'))) self.assertTrue('(edited)' in edited_answer_content.text) # Check buttons util.checks_link_names(self, FINDER, constants.SE_DRAFT)
def test_approve_question_and_send(self): """Test leadreaviewer approves question and sends it to msauthority """ # Check buttons for LR util.checks_link_names(self, FINDER, constants.LR_DRAFTED) FINDER.link('Approve question and send').click() # Check buttons after approving question util.checks_link_names(self, FINDER, constants.LR_PENDING)
def test_se_redraft(self): """Test sector expert redrafts question """ # Questions cannot be deleted after redrafting buttons = constants.SE_DRAFT buttons.remove('Delete Question') util.checks_link_names(self, FINDER, buttons) reason_div = FINDER.xpath("(//div[@class='answerContent'])[2]") self.assertEqual(reason_div.text, "Test redraft reason.")
def test_add_followup(self): """Test sector expert adds followup question """ FINDER.link('Add follow up question').click() time.sleep(0.5) FINDER.css('#form-widgets-text').send_keys("Test follow up question.") FINDER.css('.formControls input').click() followup = FINDER.xpath("(//div[@class='answerContent'])[3]") self.assertEqual(followup.text, "Test follow up question.") util.checks_link_names(self, FINDER, constants.SE_DRAFT)
def test_request_comments(self): """Test sector expert can request comments """ req_btn = WebDriverWait(self.browser, 10).until( EC.presence_of_element_located((By.LINK_TEXT, 'Request Comments'))) req_btn.click() FINDER.css('.chosen-container').click() FINDER.xpath( '//*[@class="chosen-results"]/li[contains(text(), "TERT NECD")]' ).click() FINDER.xpath('//input[@value="Send"]').click() # Check buttons util.checks_link_names(self, FINDER, constants.SE_COUNTERPART_COMMENTS)
def test_add_conclusions(self): """Test sector expert adds conclusion """ FINDER.link('Add Conclusions').click() time.sleep(1) FINDER.xpath('//*[@id="form-buttons-save"]').click() time.sleep(1) util.checks_link_names(self, FINDER, constants.SE_CONCLUSION) text = WebDriverWait(self.browser, 10).until( EC.presence_of_element_located((By.LINK_TEXT, 'Conclusions'))) print(text)
def test_add_question(self): """ Test sector expert can add question. """ # Add questions FINDER.css('#add-question-link').click() question_text_field = FINDER.css('textarea#form-widgets-text') question_text_field.send_keys('Test question.') FINDER.xpath('//*[@value="Save question"]').click() # Check question added answer_content = FINDER.css('.answerContent') self.assertTrue('Test question.' in answer_content.text) # Check buttons util.checks_link_names(self, FINDER, constants.SE_DRAFT)
def test_ask_to_redraft(self): """Test leadreviewer asks sector expert to redraft """ # Check buttons for LR util.checks_link_names(self, FINDER, constants.LR_DRAFTED) FINDER.link("Ask SE to redraft").click() time.sleep(1) reason = "Test redraft reason." FINDER.css('#form-widgets-redraft_message').send_keys(reason) FINDER.css('.formControls > input').click() FINDER.link("Edit Key Flags") reason_div = FINDER.xpath("(//div[@class='answerContent'])[2]") self.assertTrue(reason_div.text == reason)
def test_go_to_conclusions_lr(self): """Test leadreviewer goes to conclusions """ # Check buttons for LR util.checks_link_names(self, FINDER, constants.LR_DRAFTED) FINDER.link("Go to Conclusions").click() time.sleep(1) FINDER.css('.formControls > input').click() util.checks_link_names(self, FINDER, constants.LR_CLOSED) FINDER.link("Edit conclusion").click() time.sleep(1) FINDER.css('#form-widgets-text').send_keys("(edited)") FINDER.css('#form-buttons-save').click() edited_content = FINDER.xpath('//*[@id="conclusions"]/dl/dd[2]') self.assertTrue('(edited)' in edited_content.text)
def test_send_question_for_approval(self): """Test sector expert can send question for approval """ button = FINDER.link('Send Question for Approval') button.click() util.checks_link_names(self, FINDER, constants.SE_DRAFTED)