After being able to reproduce the errors exactly by making certain
elements unfindable, I concluded that the issues we've been seeing
on headless jenkins runs are due to execution happening too quickly
and elements not loading in time to be interacted with.
The fix is to make liberal use of Jasmine 1.3 `runs` and `waitsFor`
functionality, to ensure that execution happens in the order that
we want, with rendering being checked before proceeding.
Once again, I can't be 100% sure that this fixes the Jenkins errors,
as those are very hard to reliably reproduce, but this is an
educated guess at fixing the problem with no drawbacks, as I've
been able to successfully run all tests locally.
Adding waitsFor check in the beforeEach method. The condition I'm
waiting for here is shamelessly borrowed from bok-choy's
wait_for_ajax._is_ajax_finished() method:
https://github.com/edx/bok-choy/blob/master/bok_choy/page_object.py#L431
This seems to fix the errors I was able to generate with the
set_timeout, which themselves looked ver similar to the failing
master tests, so I *think* this will fix our woes, but since I was
never able to get the tests to fail exactly the same way I can't be sure.
Since there don't seem to be any drawbacks, this is going into mainline
as-is and we'll monitor for the sporadic failures over the next few
weeks.
* Automatically create user partitions on course publish for each ICRV checkpoint.
* Disable partitions for ICRV checkpoints that have been deleted.
* Skip partitions that have been disabled when checking access.
* Add verification access control UI to visibility settings.
* Add verification access control UI to sequential and vertical settings.
* Add partition scheme for verification partition groups.
* Cache information used by verification partition scheme and invalidate the cache on update.
* Add location parameter to UserPartition so the partition scheme can find the associated checkpoint.
* Refactor GroupConfiguration to allow multiple user partitions.
* Add special messaging to ICRV for students in the honor track.
Authors: Zubair Arbi, Awais Qureshi, Aamir Khan, Will Daly
By doing this, we can prevent the bug where multiple users can join
a team simutaneously and push its enrollment over the defined
maximum value. Tests have also been added to confirm this behavior.
TNL-3061
Per discussions, for the purposes of the teams API, an 'instructor'
is any of:
-course staff
-global staff
-discussion privileged users
This change will include the last case, which previously did not have
instructor access. Changes will be documented on the teams API wiki:
https://openedx.atlassian.net/wiki/display/TNL/Team+API
Tests have also been added to confirm this functionality.
TNL-2984