|
262 | 262 | end |
263 | 263 | end |
264 | 264 |
|
| 265 | + describe '#submitted_count' do |
| 266 | + it 'returns 0 if there are no lessons' do |
| 267 | + school_class = create(:school_class, teacher_ids: [teacher.id], school:) |
| 268 | + expect(school_class.submitted_count).to eq(0) |
| 269 | + end |
| 270 | + |
| 271 | + it 'returns the sum of submitted counts from all lessons' do |
| 272 | + school_class = create(:school_class, teacher_ids: [teacher.id], school:) |
| 273 | + |
| 274 | + lesson_1 = create(:lesson, school_class:, user_id: teacher.id) |
| 275 | + remix_1 = create(:project, school:, remixed_from_id: lesson_1.project.id, user_id: student.id) |
| 276 | + remix_1.school_project.transition_status_to!(:submitted, remix_1.user_id) |
| 277 | + |
| 278 | + lesson_2 = create(:lesson, school_class:, user_id: teacher.id) |
| 279 | + remix_2 = create(:project, school:, remixed_from_id: lesson_2.project.id, user_id: student.id) |
| 280 | + remix_2.school_project.transition_status_to!(:submitted, remix_2.user_id) |
| 281 | + remix_3 = create(:project, school:, remixed_from_id: lesson_2.project.id, user_id: student.id) |
| 282 | + remix_3.school_project.transition_status_to!(:submitted, remix_3.user_id) |
| 283 | + |
| 284 | + expect(school_class.submitted_count).to eq(3) |
| 285 | + end |
| 286 | + end |
| 287 | + |
265 | 288 | describe 'auditing' do |
266 | 289 | subject(:school_class) { create(:school_class, teacher_ids: [teacher.id], school:) } |
267 | 290 |
|
|
0 commit comments