spec: create fewer objects
I’m sure this could improved more, but this works with a few seconds of work and saves seconds per run. test plan - specs should pass Change-Id: If2d8e9c8857c58485fef3745d88ecb22ef51e5c1 Reviewed-on: https://gerrit.instructure.com/151956 Tested-by: Jenkins Reviewed-by: James Williams <jamesw@instructure.com> Product-Review: Rob Orton <rob@instructure.com> QA-Review: Rob Orton <rob@instructure.com>
This commit is contained in:
parent
4ba1e44abb
commit
10ee663f3f
|
@ -128,7 +128,7 @@ describe AssignmentsApiController, type: :request do
|
|||
|
||||
it 'returns all assignments using paging' do
|
||||
group1 = @course.assignment_groups.create!(:name => 'group1')
|
||||
41.times do
|
||||
5.times do
|
||||
@course.assignments.create!(:title => 'assignment1',
|
||||
:assignment_group => group1).
|
||||
update_attribute(:position, 0)
|
||||
|
@ -137,21 +137,21 @@ describe AssignmentsApiController, type: :request do
|
|||
page = 1
|
||||
loop do
|
||||
json = api_call(:get,
|
||||
"/api/v1/courses/#{@course.id}/assignments.json?per_page=10&page=#{page}",
|
||||
"/api/v1/courses/#{@course.id}/assignments.json?per_page=2&page=#{page}",
|
||||
{
|
||||
:controller => 'assignments_api',
|
||||
:action => 'index',
|
||||
:format => 'json',
|
||||
:course_id => @course.id.to_s,
|
||||
:per_page => '10',
|
||||
:per_page => '2',
|
||||
:page => page.to_s
|
||||
})
|
||||
assignment_ids.concat(json.map { |a| a['id'] })
|
||||
break if json.empty?
|
||||
break if json.length == 1
|
||||
page +=1
|
||||
end
|
||||
expect(assignment_ids.count).to eq(41)
|
||||
expect(assignment_ids.uniq.count).to eq(41)
|
||||
expect(assignment_ids.count).to eq(5)
|
||||
expect(assignment_ids.uniq.count).to eq(5)
|
||||
end
|
||||
|
||||
it "sorts the returned list of assignments" do
|
||||
|
@ -270,9 +270,9 @@ describe AssignmentsApiController, type: :request do
|
|||
end
|
||||
|
||||
it "should allow filtering based on assignment_ids[] parameter" do
|
||||
13.times { |i| @course.assignments.create!(title: "a_#{i}") }
|
||||
5.times { |i| @course.assignments.create!(title: "a_#{i}") }
|
||||
all_ids = @course.assignments.pluck(:id).map(&:to_s)
|
||||
some_ids = all_ids.slice(1, 4)
|
||||
some_ids = all_ids.slice(1, 3)
|
||||
query_string = some_ids.map { |id| "assignment_ids[]=#{id}" }.join('&')
|
||||
|
||||
json = api_call(:get,
|
||||
|
@ -285,7 +285,7 @@ describe AssignmentsApiController, type: :request do
|
|||
:assignment_ids => some_ids
|
||||
})
|
||||
|
||||
expect(json.length).to eq 4
|
||||
expect(json.length).to eq 3
|
||||
expect(json.map{|h| h['id']}.map(&:to_s).sort).to eq some_ids.sort
|
||||
end
|
||||
|
||||
|
|
Loading…
Reference in New Issue