Add specs to test teachers removing students from groups

Test Plan:
  - Run Specs

Change-Id: I432f96376dd8a0661e572a70989de801858543ac
Reviewed-on: https://gerrit.instructure.com/52358
Tested-by: Jenkins
Reviewed-by: Derek Hansen <dhansen@instructure.com>
Product-Review: Derek Hansen <dhansen@instructure.com>
QA-Review: Derek Hansen <dhansen@instructure.com>
This commit is contained in:
Steven Shepherd 2015-04-16 11:10:22 -06:00 committed by Derek Hansen
parent 26c5b4af56
commit 1c044e1641
2 changed files with 43 additions and 16 deletions

View File

@ -9,7 +9,7 @@ describe "new groups" do
course_with_teacher_logged_in
end
it "should allow teachers to add a group set", :priority => "1", :test_id => 94152 do
it "should allow teachers to add a group set", priority: "1", test_id: 94152 do
get "/courses/#{@course.id}/groups"
f('#add-group-set').click
wait_for_ajaximations
@ -20,7 +20,7 @@ describe "new groups" do
expect(fj('.collectionViewItems[role=tablist]>li:last-child').text).to match "Test Group Set"
end
it "should allow teachers to create groups within group sets", :priority => "1", :test_id => 94153 do
it "should allow teachers to create groups within group sets", priority: "1", test_id: 94153 do
seed_groups(1,0)
get "/courses/#{@course.id}/groups"
@ -34,11 +34,9 @@ describe "new groups" do
expect(fj('.collectionViewItems.unstyled.groups-list>li:last-child')).to include_text("Test Group")
end
it "should allow teachers to add a student to a group", :priority => "1", :test_id => 94155 do
# Creates one user
seed_users(1)
# Creates one group set with one group inside it
seed_groups(1,1)
it "should allow teachers to add a student to a group", priority: "1", test_id: 94155 do
# Creates one user, and one groupset with a group inside it
group_test_setup(1,1,1)
get "/courses/#{@course.id}/groups"
@ -57,13 +55,11 @@ describe "new groups" do
expect(f('.group-user-name')).to include_text(@student.name)
end
it "should allow teachers to move a student to a different group", :priority => "1", :test_id => 94157 do
seed_users(1)
# Creates 1 groupset and 2 groups within it
seed_groups(1,2)
it "should allow teachers to move a student to a different group", priority: "1", test_id: 94157 do
# Creates 1 user, 1 groupset, and 2 groups within the groupset
group_test_setup(1,1,2)
# Add seeded student to first seeded group
@testgroup[0].add_user @student
@testgroup[0].save!
add_user_to_group(@student,@testgroup[0])
get "/courses/#{@course.id}/groups"
@ -91,5 +87,25 @@ describe "new groups" do
wait_for_ajaximations
expect(f('.group-user')).to include_text(@student.name)
end
it "should allow teachers to remove a student from a group", priority: "1", test_id: 94158 do
group_test_setup
add_user_to_group(@student,@testgroup[0])
get "/courses/#{@course.id}/groups"
f('.toggle-group').click
wait_for_ajaximations
# Deletes the user
f('.group-user-actions').click
wait_for_ajaximations
f('.remove-from-group').click
wait_for_ajaximations
expect(f('.ui-cnvs-scrollable')).to include_text(@student.name)
expect(f('.unassigned-users-heading')).to include_text("Unassigned Students (1)")
expect(f('.group-summary')).to include_text("0 students")
end
end
end

View File

@ -5,15 +5,26 @@ def seed_users(count)
end
end
# Creates group sets equal to groupset_count and groups within each group set equal to inner_group_count
def seed_groups(groupset_count, inner_group_count)
# Creates group sets equal to groupset_count and groups within each group set equal to groups_per_set
def seed_groups(groupset_count, groups_per_set)
@group_category = []
@testgroup = []
groupset_count.times do |n|
@group_category << @course.group_categories.create!(:name => "Test Group Set #{n+1}")
inner_group_count.times do |i|
groups_per_set.times do |i|
@testgroup << @course.groups.create!(:name => "Test Group #{i+1}", :group_category => @group_category[n])
end
end
end
# Sets up groups and users for testing. Default is 1 user, 1 groupset, and 1 group per groupset.
def group_test_setup(user_count = 1, groupset_count = 1, groups_per_set = 1)
seed_users(user_count)
seed_groups(groupset_count, groups_per_set)
end
def add_user_to_group(user,group)
group.add_user user
group.save!
end