Following have been done
1- Change the structure of the course navigation Menu HTML
2- Add some basic styling
3- Add basic JS for html rendering
4- Update tests according to new structure
AC-76
This change allows graded assignments to be added to a campus LMS
regardless of the granularity at which the problem sits. Previously
a grade could only be returned if the usage ID for the problem itself
was specified in the LTI launch.
The code assumes that courses taking advantage of this functionality
are arranged in a hiearchy (with sections being parents to verticals,
and verticals being parents to problems). When a grading event occurs
it traverses the parent hiearchy to identify any previous graded LTI
launches for which the new scoring event should generate a grade
update. It then calculates and sends scores to each of those outcome
services.
Since grade calculation is an expensive operation, the code optimizes
the case where a problem has been added only once as a leaf unit. In
that case it is able to behave as before, just taking the grade from
the signal without having to calculate grades for the whole course.
The old line:
from path import path
produced pylint errors because of the baroque way that path.py defined
"path". We tried to get them to change how they defined it, but they
deleted the name instead: https://github.com/jaraco/path.py/issues/102
(Jason then changed his mind, but this is a better way to use path.py,
it avoids the pylint error at least.)
On the advice of https://github.com/edx/edx-platform/pull/9470,
the render call here is not needed and should be removed in order
to allow the view's owner to determine when it needs to be rendered.
This will hopefully also fix the flaky tests we've been seeing,
we'll need to continue to monitor the builds to be sure.
Also added reset_test_case() and @modifies_courseware to SharedModuleStoreTestCase.
Revert "More verbose test builds in Jenkins, for debugging."
This reverts commit 58cade4cc4288335026649470a48b7bbca969ee8.
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.
TNL-3014
Add tests for search
Add text_search to TeamsListView
Add reindex command line tool for course teams
Add Search Pagination and update comments
Move paginate_search_results to common library