b68c8fc772
closes: CNVS-11834 This creates a way for an instructor to assign a random student as the group leader. It only applies when an instructor is having groups created automatically at the time of defining a group category. This also take an opportunity to refactor out some bloated code from the group_categories_controller and move it into some separate objects that can be more easily understood and rapidly unit tested through all the necessary permutations (allowing higher level integration tests to just cover a case or two) It ALSO removes group leadership knowledge into it's own object so that the callbacks in other objects are simple and the logic regarding how to do group leadership management is in one place. TEST PLAN: AUTO_DISTRIBUTION: 1) login as an instructor 2) go to the "people" tab and try to create a group set. 3) click on the "Create [0] groups for me" radio button; verify you now have controls for assigning a group leader automatically and that the strategy radio buttons are greyed out. 4) check the "Assign a group leader automatically" checkbox; verify the 2 nested radio buttons for "random" and "first" strategies become enabled 5) select a strategy and fill out the rest of the form, then submit (make sure your background job is running) 6) verify after groups are created that each group has a leader, and that the leader is in fact a member of the group. SelfSignup: 1) login as an instructor 2) go to the "people" tab and try to create a group set. 3) enable self-signup. 4) check the "Assign a group leader automatically" checkbox; verify the 2 nested radio buttons for "random" and "first" strategies become enabled 5) select a strategy and fill out the rest of the form, then submit. 6) Login as a student for the same course and join the group. 7) verify that the student has been made the group leader. Change-Id: I2cdd9f5ed2fd577469beec4ab7369c69ecf7eaa6 Reviewed-on: https://gerrit.instructure.com/35130 Tested-by: Jenkins <jenkins@instructure.com> Reviewed-by: Braden Anderson <banderson@instructure.com> QA-Review: Trevor deHaan <tdehaan@instructure.com> Product-Review: Ethan Vizitei <evizitei@instructure.com> |
||
---|---|---|
.. | ||
params_policy_spec.rb | ||
params_spec.rb |