def test_teacher_change_an_open_event_162186(self): self.ps.test_updates['name'] = 'tutor_event_teacher' \ + inspect.currentframe().f_code.co_name[4:] self.ps.test_updates['tags'] = ['tutor', 'event', 'teacher', '162186'] self.ps.test_updates['passed'] = False # Test steps and verification assertions assignment_name = 'event_015_%s' % randint(100, 500) assignment = Assignment() today = datetime.date.today() finish = randint(1, 5) begin = today.strftime('%m/%d/%Y') end = (today + datetime.timedelta(days=finish)) \ .strftime('%m/%d/%Y') # Create an open assignment self.teacher.add_assignment( assignment='event', args={ 'title': assignment_name, 'description': 'description', 'periods': {'all': (begin, end)}, 'status': 'publish', } ) # Find the open Event on the calendar self.teacher.wait.until( expect.presence_of_element_located( (By.CLASS_NAME, 'month-wrapper') ) ) self.teacher.find( By.XPATH, '//label[contains(text(),"{0}")]'.format(assignment_name) ).click() self.teacher.wait.until( expect.element_to_be_clickable( (By.ID, 'edit-assignment-button') ) ).click() # Change the title self.teacher.find( By.ID, "reading-title" ).send_keys("changed") # Change the description self.teacher.find( By.CSS_SELECTOR, ".assignment-description>.form-control" ).send_keys("changed") # Set new due dates end = randint(1, 5) closes_on = (today + datetime.timedelta(days=end)) \ .strftime('%m/%d/%Y') assignment.assign_date( driver=self.teacher.driver, date=closes_on, is_all=True, target='due' ) # Publish self.teacher.find( By.XPATH, '//button[contains(@class,"-publish")]' ).click() sleep(1) # Find the new title on the calendar try: self.teacher.find( By.XPATH, '//label[contains(text(),"{0}")]'.format( assignment_name + 'changed') ) except NoSuchElementException: self.teacher.find( By.XPATH, '//a[contains(@class,"header-control next")]' ).click() self.teacher.find( By.XPATH, '//label[contains(text(),"{0}")]'.format( assignment_name + 'changed') ) self.ps.test_updates['passed'] = True