Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Changelog.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@
- Fix: include original total mark in JSON response for remark requests (#7945)

### 🔧 Internal changes
- Added tests for `graders_controller` to fully cover `grader_criteria_mapping` function (#7949)
- Added tests for `GradersController` to fully cover `grader_groupers_mapping` (#7946)
- Added seed task to assign TAs to A1 groupings and criteria (#7867)
- Updated autotest seed files to ensure settings follow tester JSON schema (#7775)
Expand Down
1 change: 1 addition & 0 deletions doc/markus-contributors.txt
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,7 @@ Mimis Chlympatsos
Mina Almasry
Misa Sakamoto
Misha Schwartz
Muhammad Rafie
Nathan ChowNeha Kumar
Neha Kumar
Nelle Varoquaux
Expand Down
33 changes: 33 additions & 0 deletions spec/controllers/graders_controller_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,11 @@
expect(response).to have_http_status(:forbidden)
end

it 'GET on :grader_criteria_mapping' do
get_as @student, :grader_criteria_mapping, params: { course_id: course.id, assignment_id: assignment.id }
expect(response).to have_http_status(:forbidden)
end

it 'POST on :global_actions' do
post_as @student, :global_actions, params: { course_id: course.id, assignment_id: assignment.id }
expect(response).to have_http_status(:forbidden)
Expand All @@ -53,6 +58,34 @@
expect(assigns(:assignment)).not_to be_nil
end

it 'doing a GET on :grader_criteria_mapping' do
ta1 = create(:ta)
ta2 = create(:ta)
ta3 = create(:ta)
criterion1 = create(:rubric_criterion, assignment: @assignment)
criterion2 = create(:rubric_criterion, assignment: @assignment)
criterion3 = create(:rubric_criterion, assignment: @assignment)

criterion1.tas << [ta1, ta2]
criterion2.tas << ta1
criterion3.tas << ta3

get_as @instructor, :grader_criteria_mapping, params: { course_id: course.id, assignment_id: @assignment.id }

expect(response).to have_http_status(:ok)
expect(response.content_type).to eq('text/csv')
expect(response.headers['Content-Disposition']).to include('attachment')
expect(response.headers['Content-Disposition'])
.to include("#{@assignment.short_identifier}_grader_criteria_mapping.csv")

rows = CSV.parse(response.body).map { |row| [row.first, row.drop(1).sort] }.sort
expect(rows).to eq([
[criterion1.name, [ta1.user.user_name, ta2.user.user_name].sort],
[criterion2.name, [ta1.user.user_name]],
[criterion3.name, [ta3.user.user_name]]
].sort)
end

context 'doing a POST on :upload (assigning to groups)' do
it_behaves_like 'a controller supporting upload' do
let(:params) { { course_id: course.id, assignment_id: @assignment.id, model: TaMembership, groupings: true } }
Expand Down
Loading