While show_homepage_promo_video would previously toggle the control to
play the welcome video on and off, the YouTube embed iframe would be
included in index.html unconditionally. This created the ugly
situation that YouTube would try to pull in a non-existent video, and
that a DoubleClick tracking beacon would be introduced to the start
page for no reason.
Instead, make sure show_homepage_promo_video toggles the entire modal
video section on and off, suppressing it altogether unless
show_homepage_promo_video is set.
Not an issue for our tests on firefox 28; however, once we upgrade to
Firefox 42 (or later), a new wait condition is needed here. Otherwise,
the content is not set because selenium's action chain is starting too
early.
This action chain is not reliable across firefox versions (and
in fact, even on the older firefox, fails locally). Instead we
use native JS tinymce to set the content.
On the older firefox version (28), the offset approach fails. This
update is being made as part of an effort to upgrade to firefox 42
incrementally. So we are including logic for Firefox 28 vs 42 that
we can remove after the upgrade.
Firefox 42 is faster than the version we're currently using for platform tests. This failure
occurs in the brief amount of time where the teams page is reloading. Waiting for the actual
team list to appear before moving on with tests solves the issue. Approx 4 testcases are fixed.
Below is an example of error that was appearing in firefox 42 tests:
```
Error Message
Not on the correct page to use '<common.test.acceptance.pages.studio.users.CourseTeamPage object at 0x7feb9fdb0490>' at URL 'http://localhost:8031/course_team/course-v1:test_org+321550032104190792981383915127220335686+test_run'
-------------------- >> begin captured logging << --------------------
bok_choy.browser: INFO: Using local browser: firefox [Default is firefox]
--------------------- >> end captured logging << ---------------------
Stacktrace
File "/usr/lib/python2.7/unittest/case.py", line 331, in run
testMethod()
File "/home/jenkins/workspace/edx-platform-test-subset/common/test/acceptance/tests/studio/test_studio_course_team.py", line 147, in test_added_users_cannot_add_or_delete_other_users
self._assert_user_present(self.other_user, present=True)
File "/home/jenkins/workspace/edx-platform-test-subset/common/test/acceptance/tests/studio/test_studio_course_team.py", line 78, in _assert_user_present
description="Wait for user to be present"
File "/home/jenkins/edx-venv/local/lib/python2.7/site-packages/bok_choy/page_object.py", line 490, in wait_for
return EmptyPromise(promise_check_func, description, timeout=timeout).fulfill()
File "/home/jenkins/edx-venv/local/lib/python2.7/site-packages/bok_choy/promise.py", line 92, in fulfill
is_fulfilled, result = self._check_fulfilled()
File "/home/jenkins/edx-venv/local/lib/python2.7/site-packages/bok_choy/promise.py", line 118, in _check_fulfilled
is_fulfilled, result = self._check_func()
File "/home/jenkins/edx-venv/local/lib/python2.7/site-packages/bok_choy/promise.py", line 173, in <lambda>
full_check_func = lambda: (check_func(), None)
File "/home/jenkins/workspace/edx-platform-test-subset/common/test/acceptance/tests/studio/test_studio_course_team.py", line 77, in <lambda>
lambda: user.get('username') in self.page.usernames,
File "/home/jenkins/edx-venv/local/lib/python2.7/site-packages/bok_choy/page_object.py", line 66, in wrapper
self._verify_page() # pylint: disable=protected-access
File "/home/jenkins/edx-venv/local/lib/python2.7/site-packages/bok_choy/page_object.py", line 331, in _verify_page
raise WrongPageError(msg)
"Not on the correct page to use '<common.test.acceptance.pages.studio.users.CourseTeamPage object at 0x7feb9fdb0490>' at URL 'http://localhost:8031/course_team/course-v1:test_org+321550032104190792981383915127220335686+test_run'\n-------------------- >> begin captured logging << --------------------\nbok_choy.browser: INFO: Using local browser: firefox [Default is firefox]\n--------------------- >> end captured logging << ---------------------"
```