From 4b5b72a39db3b68c714a6b1489a5c587db95bd3f Mon Sep 17 00:00:00 2001 From: Christine Lytwynec Date: Mon, 15 Sep 2014 15:28:54 -0400 Subject: [PATCH] add promise to get around race condition in discussion bok-choy test --- common/test/acceptance/pages/lms/discussion.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/common/test/acceptance/pages/lms/discussion.py b/common/test/acceptance/pages/lms/discussion.py index 9bdf12d261..0fd2a9bcd0 100644 --- a/common/test/acceptance/pages/lms/discussion.py +++ b/common/test/acceptance/pages/lms/discussion.py @@ -1,7 +1,7 @@ from contextlib import contextmanager from bok_choy.page_object import PageObject -from bok_choy.promise import EmptyPromise +from bok_choy.promise import EmptyPromise, Promise from .course_page import CoursePage @@ -348,7 +348,16 @@ class DiscussionUserProfilePage(CoursePage): return [elem.get_attribute("id")[7:] for elem in elems] def get_current_page(self): - return int(self.q(css="nav.discussion-paginator li.current-page").text[0]) + def check_func(): + try: + current_page = int(self.q(css="nav.discussion-paginator li.current-page").text[0]) + except: + return False, None + return True, current_page + + return Promise( + check_func, 'discussion-paginator current page has text', timeout=5, + ).fulfill() def _check_pager(self, text, page_number=None): """