|
496 | 496 | expect(get_assignment_marks(lti_deployment, assessment)).not_to be_empty |
497 | 497 | end |
498 | 498 | end |
| 499 | + |
| 500 | + context 'when some students are inactive (hidden)' do |
| 501 | + let(:student1) { create(:student, course: course) } |
| 502 | + let(:student2) { create(:student, course: course) } |
| 503 | + let(:assignment) { create(:assignment, course: course) } |
| 504 | + |
| 505 | + let!(:grouping) do |
| 506 | + create(:grouping, assignment: assignment).tap do |g| |
| 507 | + create(:student_membership, |
| 508 | + grouping: g, |
| 509 | + role: student1, |
| 510 | + membership_status: StudentMembership::STATUSES[:accepted]) |
| 511 | + |
| 512 | + create(:student_membership, |
| 513 | + grouping: g, |
| 514 | + role: student2, |
| 515 | + membership_status: StudentMembership::STATUSES[:accepted]) |
| 516 | + end |
| 517 | + end |
| 518 | + |
| 519 | + before do |
| 520 | + create(:result, |
| 521 | + grouping: grouping, |
| 522 | + released_to_students: true, |
| 523 | + marking_state: Result::MARKING_STATES[:complete]) |
| 524 | + |
| 525 | + student2.update!(hidden: true) |
| 526 | + |
| 527 | + [student1.user, student2.user].each do |usr| |
| 528 | + create(:lti_user, user: usr, lti_client: lti_deployment.lti_client) |
| 529 | + end |
| 530 | + end |
| 531 | + |
| 532 | + it 'does not include hidden students in the marks hash' do |
| 533 | + marks = get_assignment_marks(lti_deployment, assignment) |
| 534 | + |
| 535 | + id1 = student1.user.lti_users.first.lti_user_id |
| 536 | + id2 = student2.user.lti_users.first.lti_user_id |
| 537 | + |
| 538 | + expect(marks.keys).to include(id1) |
| 539 | + expect(marks.keys).not_to include(id2) |
| 540 | + end |
| 541 | + end |
499 | 542 | end |
500 | 543 |
|
501 | 544 | describe '#get_grade_entry_form_marks' do |
|
0 commit comments