coalescing_panda 3.1.5 → 3.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (46) hide show
  1. checksums.yaml +4 -4
  2. data/app/models/coalescing_panda/assignment.rb +3 -0
  3. data/app/models/coalescing_panda/course.rb +3 -0
  4. data/app/models/coalescing_panda/enrollment.rb +4 -0
  5. data/app/models/coalescing_panda/lti_account.rb +2 -0
  6. data/app/models/coalescing_panda/section.rb +3 -0
  7. data/app/models/coalescing_panda/submission.rb +4 -0
  8. data/app/models/coalescing_panda/term.rb +2 -0
  9. data/app/models/coalescing_panda/user.rb +3 -0
  10. data/app/models/coalescing_panda/workers/course_miner.rb +1 -0
  11. data/db/migrate/20131118211442_create_coalescing_panda_lti_accounts.rb +2 -0
  12. data/db/migrate/20141119225319_create_coalescing_panda_terms.rb +3 -3
  13. data/db/migrate/20141119225721_create_coalescing_panda_courses.rb +4 -5
  14. data/db/migrate/20141120151432_create_coalescing_panda_sections.rb +3 -4
  15. data/db/migrate/20141120151940_create_coalescing_panda_assignments.rb +3 -6
  16. data/db/migrate/20141120152458_create_coalescing_panda_users.rb +3 -4
  17. data/db/migrate/20141120152546_create_coalescing_panda_submissions.rb +4 -4
  18. data/db/migrate/20141120153135_create_coalescing_panda_enrollments.rb +5 -5
  19. data/lib/coalescing_panda/version.rb +1 -1
  20. data/spec/dummy/app/models/account.rb +7 -0
  21. data/spec/dummy/db/development.sqlite3 +0 -0
  22. data/spec/dummy/db/schema.rb +28 -35
  23. data/spec/dummy/db/test.sqlite3 +0 -0
  24. data/spec/dummy/log/development.log +513 -92
  25. data/spec/dummy/log/test.log +62415 -0
  26. data/spec/factories/accounts.rb +5 -0
  27. data/spec/factories/courses.rb +5 -1
  28. data/spec/factories/enrollments.rb +5 -2
  29. data/spec/factories/sections.rb +4 -1
  30. data/spec/factories/submissions.rb +3 -2
  31. data/spec/factories/terms.rb +9 -0
  32. data/spec/factories/users.rb +1 -0
  33. data/spec/helpers/coalescing_panda/canvas_batches_helper_spec.rb +17 -0
  34. data/spec/models/coalescing_panda/assignment_spec.rb +20 -0
  35. data/spec/models/coalescing_panda/course_spec.rb +26 -0
  36. data/spec/models/coalescing_panda/enrollment_spec.rb +32 -0
  37. data/spec/models/coalescing_panda/lti_account_spec.rb +6 -0
  38. data/spec/models/coalescing_panda/section_spec.rb +20 -0
  39. data/spec/models/coalescing_panda/submission_spec.rb +31 -0
  40. data/spec/models/coalescing_panda/term_spec.rb +12 -0
  41. data/spec/models/coalescing_panda/user_spec.rb +20 -0
  42. data/spec/models/coalescing_panda/workers/course_miner_spec.rb +7 -2
  43. metadata +11 -5
  44. data/db/migrate/20140722210735_add_settings_to_coalescing_panda_lti_account.rb +0 -5
  45. data/db/migrate/20141120205729_add_canvas_account_id_to_lti_account.rb +0 -5
  46. data/db/migrate/20141125185516_add_type_to_enrollments.rb +0 -5
@@ -12,8 +12,13 @@ FactoryGirl.define do
12
12
  "Account #{n}"
13
13
  end
14
14
 
15
+ sequence :canvas_account_id do |n|
16
+ "#{n}"
17
+ end
18
+
15
19
  oauth2_client_id "1234"
16
20
  oauth2_client_key "thisisadeveloperkey"
17
21
  settings { {base_url: "http://localhost:3000", account_admin_api_token: "9q2083uy4poiahjfgpoawy"} }
22
+
18
23
  end
19
24
  end
@@ -1,7 +1,11 @@
1
1
  FactoryGirl.define do
2
2
  factory :course, class: CoalescingPanda::Course do
3
3
  account
4
+ term
4
5
  name "Test Course"
5
- canvas_course_id "1"
6
+
7
+ sequence :canvas_course_id do |n|
8
+ n
9
+ end
6
10
  end
7
11
  end
@@ -1,7 +1,10 @@
1
1
  FactoryGirl.define do
2
2
  factory :enrollment, class: CoalescingPanda::Enrollment do
3
3
  user
4
- course
5
- canvas_enrollment_id '123'
4
+ section
5
+ sequence :canvas_enrollment_id do |n|
6
+ n
7
+ end
8
+ enrollment_type "StudentEnrollment"
6
9
  end
7
10
  end
@@ -1,6 +1,9 @@
1
1
  FactoryGirl.define do
2
2
  factory :section, class: CoalescingPanda::Section do
3
3
  course
4
- canvas_section_id '123'
4
+ sequence :canvas_section_id do |n|
5
+ n
6
+ end
7
+
5
8
  end
6
9
  end
@@ -2,7 +2,8 @@ FactoryGirl.define do
2
2
  factory :submission, class: CoalescingPanda::Submission do
3
3
  user
4
4
  assignment
5
- canvas_submission_id '123'
6
- graded false
5
+ sequence :canvas_submission_id do |n|
6
+ n
7
+ end
7
8
  end
8
9
  end
@@ -0,0 +1,9 @@
1
+ FactoryGirl.define do
2
+ factory :term, class: CoalescingPanda::Term do
3
+ account
4
+
5
+ sequence :canvas_term_id do |n|
6
+ n
7
+ end
8
+ end
9
+ end
@@ -1,5 +1,6 @@
1
1
  FactoryGirl.define do
2
2
  factory :user, class: CoalescingPanda::User do
3
+ account
3
4
  sequence :email do |n|
4
5
  "test#{n}@test.com"
5
6
  end
@@ -0,0 +1,17 @@
1
+ require 'rails_helper'
2
+
3
+ # Specs in this file have access to a helper object that includes
4
+ # the CanvasBatchesHelper. For example:
5
+ #
6
+ # describe CanvasBatchesHelper do
7
+ # describe "string concat" do
8
+ # it "concats two strings with spaces" do
9
+ # expect(helper.concat_strings("this","that")).to eq("this that")
10
+ # end
11
+ # end
12
+ # end
13
+ module CoalescingPanda
14
+ RSpec.describe CanvasBatchesHelper, :type => :helper do
15
+ pending "add some examples to (or delete) #{__FILE__}"
16
+ end
17
+ end
@@ -15,4 +15,24 @@ RSpec.describe CoalescingPanda::Assignment, :type => :model do
15
15
  end
16
16
  end
17
17
 
18
+ context "validations" do
19
+ it "should require a canvas id" do
20
+ expect(FactoryGirl.build(:assignment, canvas_assignment_id: "")).to_not be_valid
21
+ end
22
+
23
+ it "should require a course" do
24
+ expect(FactoryGirl.build(:assignment, coalescing_panda_course_id: "")).to_not be_valid
25
+ end
26
+
27
+ it 'should be unique to a course' do
28
+ course = FactoryGirl.create(:course)
29
+ assignment = FactoryGirl.create(:assignment, course: course, canvas_assignment_id: "1")
30
+ expect { FactoryGirl.create(:assignment, course: course, canvas_assignment_id: "1") }.to raise_error ActiveRecord::RecordNotUnique
31
+ end
32
+
33
+ it "should be valid with valid data" do
34
+ expect(FactoryGirl.build(:assignment)).to be_valid
35
+ end
36
+ end
37
+
18
38
  end
@@ -34,4 +34,30 @@ RSpec.describe CoalescingPanda::Course, :type => :model do
34
34
  expect(CoalescingPanda::Course.reflect_on_association(:users).macro).to eql(:has_many)
35
35
  end
36
36
  end
37
+
38
+ context "validations" do
39
+ it "should require a canvas id" do
40
+ expect(FactoryGirl.build(:course, canvas_course_id: "")).to_not be_valid
41
+ end
42
+
43
+ it "should require an lti_account" do
44
+ expect(FactoryGirl.build(:course, coalescing_panda_lti_account_id: "")).to_not be_valid
45
+ end
46
+
47
+ it 'should be unique to an account' do
48
+ account = FactoryGirl.create(:account)
49
+ course = FactoryGirl.create(:course, account: account, canvas_course_id: "1")
50
+ expect { FactoryGirl.create(:course, account: account, canvas_course_id: "1") }.to raise_error ActiveRecord::RecordNotUnique
51
+ end
52
+
53
+ it 'should be unique to an term' do
54
+ term = FactoryGirl.create(:term)
55
+ course = FactoryGirl.create(:course, term: term, canvas_course_id: "1")
56
+ expect { FactoryGirl.create(:course, term: term, canvas_course_id: "1") }.to raise_error ActiveRecord::RecordNotUnique
57
+ end
58
+
59
+ it "should be valid with valid data" do
60
+ expect(FactoryGirl.build(:course)).to be_valid
61
+ end
62
+ end
37
63
  end
@@ -14,4 +14,36 @@ RSpec.describe CoalescingPanda::Enrollment, :type => :model do
14
14
  expect(CoalescingPanda::Enrollment.reflect_on_association(:section).macro).to eql(:belongs_to)
15
15
  end
16
16
  end
17
+
18
+ context "validations" do
19
+ it "should require a canvas id" do
20
+ expect(FactoryGirl.build(:enrollment, canvas_enrollment_id: "")).to_not be_valid
21
+ end
22
+
23
+ it "should require a coalescing_panda_user_id" do
24
+ expect(FactoryGirl.build(:enrollment, coalescing_panda_user_id: "")).to_not be_valid
25
+ end
26
+
27
+ it "should require a coalescing_panda_section_id" do
28
+ expect(FactoryGirl.build(:enrollment, coalescing_panda_section_id: "")).to_not be_valid
29
+ end
30
+
31
+ it 'should be unique to a user and section' do
32
+ user = FactoryGirl.create(:user)
33
+ section = FactoryGirl.create(:section)
34
+ enrollment = FactoryGirl.create(:enrollment, user: user, section: section, canvas_enrollment_id: "1", enrollment_type: "StudentEnrollment")
35
+ expect { FactoryGirl.create(:enrollment, user: user, section: section, canvas_enrollment_id: "1", enrollment_type: "StudentEnrollment") }.to raise_error ActiveRecord::RecordNotUnique
36
+ end
37
+
38
+ it 'should not be unique with a different enrollment type' do
39
+ user = FactoryGirl.create(:user)
40
+ section = FactoryGirl.create(:section)
41
+ enrollment = FactoryGirl.create(:enrollment, user: user, section: section, canvas_enrollment_id: "1", enrollment_type: "StudentEnrollment")
42
+ expect { FactoryGirl.create(:enrollment, user: user, section: section, canvas_enrollment_id: "2", enrollment_type: "TeacherEnrollment") }.not_to raise_error
43
+ end
44
+
45
+ it "should be valid with valid data" do
46
+ expect(FactoryGirl.build(:enrollment)).to be_valid
47
+ end
48
+ end
17
49
  end
@@ -14,4 +14,10 @@ RSpec.describe CoalescingPanda::LtiAccount, :type => :model do
14
14
  expect(CoalescingPanda::LtiAccount.reflect_on_association(:courses).macro).to eql(:has_many)
15
15
  end
16
16
  end
17
+
18
+ context 'validations' do
19
+ it 'should require a canvas id' do
20
+ expect(FactoryGirl.build(:account, canvas_account_id: "")).to_not be_valid
21
+ end
22
+ end
17
23
  end
@@ -19,4 +19,24 @@ RSpec.describe CoalescingPanda::Section, :type => :model do
19
19
  expect(CoalescingPanda::Section.reflect_on_association(:users).macro).to eql(:has_many)
20
20
  end
21
21
  end
22
+
23
+ context "validations" do
24
+ it "should require a coalescing_panda_course_id" do
25
+ expect(FactoryGirl.build(:section, coalescing_panda_course_id: "")).to_not be_valid
26
+ end
27
+
28
+ it "should require a canvas id" do
29
+ expect(FactoryGirl.build(:section, canvas_section_id: "")).to_not be_valid
30
+ end
31
+
32
+ it 'should be unique to a course' do
33
+ course = FactoryGirl.create(:course)
34
+ section = FactoryGirl.create(:section, course: course, canvas_section_id: "1")
35
+ expect { FactoryGirl.create(:section, course: course, canvas_section_id: "1") }.to raise_error ActiveRecord::RecordNotUnique
36
+ end
37
+
38
+ it "should be valid with valid data" do
39
+ expect(FactoryGirl.build(:section)).to be_valid
40
+ end
41
+ end
22
42
  end
@@ -13,6 +13,37 @@ RSpec.describe CoalescingPanda::Submission, :type => :model do
13
13
  expect(CoalescingPanda::Submission.reflect_on_association(:assignment)).to_not be_nil
14
14
  expect(CoalescingPanda::Submission.reflect_on_association(:assignment).macro).to eql(:belongs_to)
15
15
  end
16
+ end
17
+
18
+ context "validations" do
19
+ it "should require a user" do
20
+ expect(FactoryGirl.build(:submission, coalescing_panda_user_id: "")).to_not be_valid
21
+ end
22
+
23
+ it "should require a assignment" do
24
+ expect(FactoryGirl.build(:submission, coalescing_panda_assignment_id: "")).to_not be_valid
25
+ end
26
+
27
+ it "should require a canvas id" do
28
+ expect(FactoryGirl.build(:submission, canvas_submission_id: "")).to_not be_valid
29
+ end
30
+
31
+ it 'should be unique to a user, assignment, and submission_id' do
32
+ user = FactoryGirl.create(:user)
33
+ assignment = FactoryGirl.create(:assignment)
34
+ submission = FactoryGirl.create(:submission, user: user, assignment: assignment, canvas_submission_id: "1")
35
+ expect { FactoryGirl.create(:submission, user: user, assignment: assignment, canvas_submission_id: "1") }.to raise_error ActiveRecord::RecordNotUnique
36
+ end
16
37
 
38
+ it 'should not be unique with a different submission id' do
39
+ user = FactoryGirl.create(:user)
40
+ assignment = FactoryGirl.create(:assignment)
41
+ submission = FactoryGirl.create(:submission, user: user, assignment: assignment, canvas_submission_id: "1")
42
+ expect { FactoryGirl.create(:submission, user: user, assignment: assignment, canvas_submission_id: "2") }.not_to raise_error
43
+ end
44
+
45
+ it "should be valid with valid data" do
46
+ expect(FactoryGirl.build(:submission)).to be_valid
47
+ end
17
48
  end
18
49
  end
@@ -14,4 +14,16 @@ RSpec.describe CoalescingPanda::Term, :type => :model do
14
14
  expect(CoalescingPanda::Term.reflect_on_association(:courses).macro).to eql(:has_many)
15
15
  end
16
16
  end
17
+
18
+ context "validations" do
19
+ it "should require an account" do
20
+ expect(FactoryGirl.build(:term, coalescing_panda_lti_account_id: "")).to_not be_valid
21
+ end
22
+
23
+ it 'should be unique to an account' do
24
+ account = FactoryGirl.create(:account)
25
+ term = FactoryGirl.create(:term, account: account, canvas_term_id: "1")
26
+ expect { FactoryGirl.create(:term, account: account, canvas_term_id: "1") }.to raise_error ActiveRecord::RecordNotUnique
27
+ end
28
+ end
17
29
  end
@@ -24,4 +24,24 @@ RSpec.describe CoalescingPanda::User, :type => :model do
24
24
  expect(CoalescingPanda::User.reflect_on_association(:submissions).macro).to eql(:has_many)
25
25
  end
26
26
  end
27
+
28
+ context "validations" do
29
+ it "should require an account" do
30
+ expect(FactoryGirl.build(:user, coalescing_panda_lti_account_id: "")).to_not be_valid
31
+ end
32
+
33
+ it "should require a canvas id" do
34
+ expect(FactoryGirl.build(:user, canvas_user_id: "")).to_not be_valid
35
+ end
36
+
37
+ it 'should be unique to an account' do
38
+ account = FactoryGirl.create(:account)
39
+ user = FactoryGirl.create(:user, account: account, canvas_user_id: "1")
40
+ expect { FactoryGirl.create(:user, account: account, canvas_user_id: "1") }.to raise_error ActiveRecord::RecordNotUnique
41
+ end
42
+
43
+ it "should be valid with valid data" do
44
+ expect(FactoryGirl.build(:user)).to be_valid
45
+ end
46
+ end
27
47
  end
@@ -34,6 +34,7 @@ RSpec.describe CoalescingPanda::Workers::CourseMiner, :type => :model do
34
34
  Bearcat::Client.any_instance.stub(:course_sections) { double(Bearcat::ApiArray, :all_pages! => sections_response) }
35
35
  Bearcat::Client.any_instance.stub(:course_enrollments) { double(Bearcat::ApiArray, :all_pages! => enrollments_response) }
36
36
  Bearcat::Client.any_instance.stub(:assignments) { double(Bearcat::ApiArray, :all_pages! => assignments_response) }
37
+ Bearcat::Client.any_instance.stub(:get_course_submissions) { double(Bearcat::ApiArray, :all_pages! => {}) }
37
38
  Bearcat::Client.any_instance.stub(:get_course_submissions).with("1", "1") { double(Bearcat::ApiArray, :all_pages! => submissions_response1) }
38
39
  Bearcat::Client.any_instance.stub(:get_course_submissions).with("1", "2") { double(Bearcat::ApiArray, :all_pages! => submissions_response2) }
39
40
  end
@@ -89,6 +90,8 @@ RSpec.describe CoalescingPanda::Workers::CourseMiner, :type => :model do
89
90
 
90
91
  it 'creates enrollments' do
91
92
  CoalescingPanda::Enrollment.destroy_all
93
+ worker.create_records(sections_response, :sections)
94
+ worker.create_records(users_response, :users)
92
95
  worker.create_records(enrollments_response, :enrollments)
93
96
  expect(CoalescingPanda::Enrollment.count).to eq 3
94
97
  expect(CoalescingPanda::Enrollment.last.workflow_state).to eq "active"
@@ -103,6 +106,8 @@ RSpec.describe CoalescingPanda::Workers::CourseMiner, :type => :model do
103
106
  it 'creates submissions' do
104
107
  CoalescingPanda::Submission.destroy_all
105
108
  submissions_response = submissions_response1 + submissions_response2
109
+ worker.create_records(users_response, :users)
110
+ worker.create_records(assignments_response, :assignments)
106
111
  worker.create_records(submissions_response, :submissions)
107
112
  expect(CoalescingPanda::Submission.count).to eq 4
108
113
  end
@@ -125,9 +130,9 @@ RSpec.describe CoalescingPanda::Workers::CourseMiner, :type => :model do
125
130
  end
126
131
 
127
132
  it 'returns enrollments attributes' do
128
- attributes = {"associated_user_id"=>nil, "course_id"=>1, "course_section_id"=>1, "created_at"=>"2014-11-07T21:17:54Z", "end_at"=>end_time, "id"=>1, "limit_privileges_to_course_section"=>false, "root_account_id"=>1, "start_at"=>start_time, "type"=>"TeacherEnrollment", "updated_at"=>"2014-11-11T22:11:19Z", "user_id"=>1, "enrollment_state"=>"active", "role"=>"TeacherEnrollment", "role_id"=>4, "last_activity_at"=>"2014-11-24T16:48:54Z", "total_activity_time"=>63682, "sis_import_id"=>nil, "sis_course_id"=>"DOCSTUCOMM", "course_integration_id"=>nil, "sis_section_id"=>nil, "section_integration_id"=>nil, "html_url"=>"http://localhost:3000/courses/1/users/1", "user"=>{"id"=>1, "name"=>"teacher@test.com", "sortable_name"=>"teacher@test.com", "short_name"=>"teacher@test.com", "login_id"=>"teacher@test.com"}}
133
+ attributes = {"associated_user_id"=>nil, "course_id"=>1, "course_section_id"=>1, "created_at"=>"2014-11-07T21:17:54Z", "end_at"=>end_time, "id"=>1, "limit_privileges_to_course_section"=>false, "root_account_id"=>1, "start_at"=>start_time, "enrollment_type"=>"TeacherEnrollment", "updated_at"=>"2014-11-11T22:11:19Z", "user_id"=>1, "enrollment_state"=>"active", "role"=>"TeacherEnrollment", "role_id"=>4, "last_activity_at"=>"2014-11-24T16:48:54Z", "total_activity_time"=>63682, "sis_import_id"=>nil, "sis_course_id"=>"DOCSTUCOMM", "course_integration_id"=>nil, "sis_section_id"=>nil, "section_integration_id"=>nil, "html_url"=>"http://localhost:3000/courses/1/users/1", "user"=>{"id"=>1, "name"=>"teacher@test.com", "sortable_name"=>"teacher@test.com", "short_name"=>"teacher@test.com", "login_id"=>"teacher@test.com"}}
129
134
  record = CoalescingPanda::Enrollment.new
130
- expect(worker.standard_attributes(record, attributes)).to eq({"created_at"=>"2014-11-07T21:17:54Z", "end_at"=>end_time, "start_at"=>start_time, "updated_at"=>"2014-11-11T22:11:19Z"})
135
+ expect(worker.standard_attributes(record, attributes)).to eq({"created_at"=>"2014-11-07T21:17:54Z", "end_at"=>end_time, "start_at"=>start_time, "enrollment_type"=>"TeacherEnrollment", "updated_at"=>"2014-11-11T22:11:19Z"})
131
136
  end
132
137
 
133
138
  it 'returns assignment attributes' do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: coalescing_panda
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.5
4
+ version: 3.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nathan Mills
@@ -10,7 +10,7 @@ authors:
10
10
  autorequire:
11
11
  bindir: bin
12
12
  cert_chain: []
13
- date: 2014-11-26 00:00:00.000000000 Z
13
+ date: 2014-12-01 00:00:00.000000000 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: rails
@@ -346,7 +346,6 @@ files:
346
346
  - db/migrate/20131114150001_create_coalescing_panda_canvas_api_auths.rb
347
347
  - db/migrate/20131118211442_create_coalescing_panda_lti_accounts.rb
348
348
  - db/migrate/20131119165343_create_coalescing_panda_lti_nonces.rb
349
- - db/migrate/20140722210735_add_settings_to_coalescing_panda_lti_account.rb
350
349
  - db/migrate/20140904223159_create_coalescing_panda_sessions.rb
351
350
  - db/migrate/20141119225319_create_coalescing_panda_terms.rb
352
351
  - db/migrate/20141119225721_create_coalescing_panda_courses.rb
@@ -355,10 +354,8 @@ files:
355
354
  - db/migrate/20141120152458_create_coalescing_panda_users.rb
356
355
  - db/migrate/20141120152546_create_coalescing_panda_submissions.rb
357
356
  - db/migrate/20141120153135_create_coalescing_panda_enrollments.rb
358
- - db/migrate/20141120205729_add_canvas_account_id_to_lti_account.rb
359
357
  - db/migrate/20141121174846_create_coalescing_panda_canvas_batches.rb
360
358
  - db/migrate/20141124160857_create_delayed_jobs.rb
361
- - db/migrate/20141125185516_add_type_to_enrollments.rb
362
359
  - lib/coalescing_panda.rb
363
360
  - lib/coalescing_panda/controller_helpers.rb
364
361
  - lib/coalescing_panda/engine.rb
@@ -374,6 +371,7 @@ files:
374
371
  - spec/dummy/app/assets/stylesheets/application.css
375
372
  - spec/dummy/app/controllers/application_controller.rb
376
373
  - spec/dummy/app/helpers/application_helper.rb
374
+ - spec/dummy/app/models/account.rb
377
375
  - spec/dummy/app/views/layouts/application.html.erb
378
376
  - spec/dummy/bin/bundle
379
377
  - spec/dummy/bin/rails
@@ -400,6 +398,7 @@ files:
400
398
  - spec/dummy/db/schema.rb
401
399
  - spec/dummy/db/test.sqlite3
402
400
  - spec/dummy/log/development.log
401
+ - spec/dummy/log/test.log
403
402
  - spec/dummy/public/404.html
404
403
  - spec/dummy/public/422.html
405
404
  - spec/dummy/public/500.html
@@ -411,7 +410,9 @@ files:
411
410
  - spec/factories/enrollments.rb
412
411
  - spec/factories/sections.rb
413
412
  - spec/factories/submissions.rb
413
+ - spec/factories/terms.rb
414
414
  - spec/factories/users.rb
415
+ - spec/helpers/coalescing_panda/canvas_batches_helper_spec.rb
415
416
  - spec/models/coalescing_panda/assignment_spec.rb
416
417
  - spec/models/coalescing_panda/canvas_api_auth_spec.rb
417
418
  - spec/models/coalescing_panda/canvas_batch_spec.rb
@@ -457,6 +458,7 @@ test_files:
457
458
  - spec/dummy/app/assets/stylesheets/application.css
458
459
  - spec/dummy/app/controllers/application_controller.rb
459
460
  - spec/dummy/app/helpers/application_helper.rb
461
+ - spec/dummy/app/models/account.rb
460
462
  - spec/dummy/app/views/layouts/application.html.erb
461
463
  - spec/dummy/bin/bundle
462
464
  - spec/dummy/bin/rails
@@ -483,6 +485,7 @@ test_files:
483
485
  - spec/dummy/db/schema.rb
484
486
  - spec/dummy/db/test.sqlite3
485
487
  - spec/dummy/log/development.log
488
+ - spec/dummy/log/test.log
486
489
  - spec/dummy/public/404.html
487
490
  - spec/dummy/public/422.html
488
491
  - spec/dummy/public/500.html
@@ -496,7 +499,9 @@ test_files:
496
499
  - spec/factories/enrollments.rb
497
500
  - spec/factories/sections.rb
498
501
  - spec/factories/submissions.rb
502
+ - spec/factories/terms.rb
499
503
  - spec/factories/users.rb
504
+ - spec/helpers/coalescing_panda/canvas_batches_helper_spec.rb
500
505
  - spec/models/coalescing_panda/assignment_spec.rb
501
506
  - spec/models/coalescing_panda/canvas_api_auth_spec.rb
502
507
  - spec/models/coalescing_panda/canvas_batch_spec.rb
@@ -511,3 +516,4 @@ test_files:
511
516
  - spec/models/coalescing_panda/workers/course_miner_spec.rb
512
517
  - spec/rails_helper.rb
513
518
  - spec/spec_helper.rb
519
+ has_rdoc: