Update bundle (with newest rubocop version) and fix offenses

This commit is contained in:
Sebastian Serth
2022-01-03 18:11:17 +01:00
parent 57e32611ed
commit ea85519163
93 changed files with 968 additions and 985 deletions

View File

@ -7,7 +7,7 @@ describe ExerciseService::CheckExternal do
subject(:export_service) { described_class.new(uuid: uuid, codeharbor_link: codeharbor_link) }
let(:uuid) { SecureRandom.uuid }
let(:codeharbor_link) { FactoryBot.build(:codeharbor_link) }
let(:codeharbor_link) { build(:codeharbor_link) }
it 'assigns uuid' do
expect(export_service.instance_variable_get(:@uuid)).to be uuid
@ -22,7 +22,7 @@ describe ExerciseService::CheckExternal do
subject(:check_external_service) { described_class.call(uuid: uuid, codeharbor_link: codeharbor_link) }
let(:uuid) { SecureRandom.uuid }
let(:codeharbor_link) { FactoryBot.build(:codeharbor_link) }
let(:codeharbor_link) { build(:codeharbor_link) }
let(:response) { {}.to_json }
before { stub_request(:post, codeharbor_link.check_uuid_url).to_return(body: response) }

View File

@ -6,8 +6,8 @@ RSpec.describe ExerciseService::PushExternal do
describe '.new' do
subject(:push_external) { described_class.new(zip: zip, codeharbor_link: codeharbor_link) }
let(:zip) { ProformaService::ExportTask.call(exercise: FactoryBot.build(:dummy)) }
let(:codeharbor_link) { FactoryBot.build(:codeharbor_link) }
let(:zip) { ProformaService::ExportTask.call(exercise: build(:dummy)) }
let(:codeharbor_link) { build(:codeharbor_link) }
it 'assigns zip' do
expect(push_external.instance_variable_get(:@zip)).to be zip
@ -21,8 +21,8 @@ RSpec.describe ExerciseService::PushExternal do
describe '#execute' do
subject(:push_external) { described_class.call(zip: zip, codeharbor_link: codeharbor_link) }
let(:zip) { ProformaService::ExportTask.call(exercise: FactoryBot.build(:dummy)) }
let(:codeharbor_link) { FactoryBot.build(:codeharbor_link) }
let(:zip) { ProformaService::ExportTask.call(exercise: build(:dummy)) }
let(:codeharbor_link) { build(:codeharbor_link) }
let(:status) { 200 }
let(:response) { '' }

View File

@ -6,7 +6,7 @@ RSpec.describe ProformaService::ConvertExerciseToTask do
describe '.new' do
subject(:convert_to_task) { described_class.new(exercise: exercise) }
let(:exercise) { FactoryBot.build(:dummy) }
let(:exercise) { build(:dummy) }
it 'assigns exercise' do
expect(convert_to_task.instance_variable_get(:@exercise)).to be exercise
@ -18,7 +18,7 @@ RSpec.describe ProformaService::ConvertExerciseToTask do
let(:convert_to_task) { described_class.new(exercise: exercise) }
let(:exercise) do
FactoryBot.create(:dummy,
create(:dummy,
instructions: 'instruction',
uuid: SecureRandom.uuid,
files: files + tests)
@ -46,7 +46,7 @@ RSpec.describe ProformaService::ConvertExerciseToTask do
context 'when exercise has a mainfile' do
let(:files) { [file] }
let(:file) { FactoryBot.build(:file) }
let(:file) { build(:file) }
it 'creates a task-file with the correct attributes' do
expect(task.files.first).to have_attributes(
@ -64,7 +64,7 @@ RSpec.describe ProformaService::ConvertExerciseToTask do
context 'when exercise has a regular file' do
let(:files) { [file] }
let(:file) { FactoryBot.build(:file, role: 'regular_file', hidden: hidden, read_only: read_only) }
let(:file) { build(:file, role: 'regular_file', hidden: hidden, read_only: read_only) }
let(:hidden) { true }
let(:read_only) { true }
@ -98,7 +98,7 @@ RSpec.describe ProformaService::ConvertExerciseToTask do
end
context 'when file has an attachment' do
let(:file) { FactoryBot.build(:file, :image, role: 'regular_file') }
let(:file) { build(:file, :image, role: 'regular_file') }
it 'creates a task-file with the correct attributes' do
expect(task.files.first).to have_attributes(
@ -112,7 +112,7 @@ RSpec.describe ProformaService::ConvertExerciseToTask do
context 'when exercise has a file with role reference implementation' do
let(:files) { [file] }
let(:file) { FactoryBot.build(:file, role: 'reference_implementation') }
let(:file) { build(:file, role: 'reference_implementation') }
it 'creates a task with one model-solution' do
expect(task.model_solutions).to have(1).item
@ -140,7 +140,7 @@ RSpec.describe ProformaService::ConvertExerciseToTask do
end
context 'when exercise has multiple files with role reference implementation' do
let(:files) { FactoryBot.build_list(:file, 2, role: 'reference_implementation') }
let(:files) { build_list(:file, 2, role: 'reference_implementation') }
it 'creates a task with two model-solutions' do
expect(task.model_solutions).to have(2).items
@ -149,7 +149,7 @@ RSpec.describe ProformaService::ConvertExerciseToTask do
context 'when exercise has a test' do
let(:tests) { [test_file] }
let(:test_file) { FactoryBot.build(:test_file) }
let(:test_file) { build(:test_file) }
# let(:file) { FactoryBot.build(:codeharbor_test_file) }
it 'creates a task with one test' do
@ -178,7 +178,7 @@ RSpec.describe ProformaService::ConvertExerciseToTask do
end
context 'when exercise_file is not hidden' do
let(:test_file) { FactoryBot.create(:test_file, hidden: false) }
let(:test_file) { create(:test_file, hidden: false) }
it 'creates the test file with the correct attribute' do
expect(task.tests.first.files.first).to have_attributes(visible: 'yes')
@ -187,7 +187,7 @@ RSpec.describe ProformaService::ConvertExerciseToTask do
end
context 'when exercise has multiple tests' do
let(:tests) { FactoryBot.build_list(:test_file, 2) }
let(:tests) { build_list(:test_file, 2) }
it 'creates a task with two tests' do
expect(task.tests).to have(2).items

View File

@ -9,8 +9,8 @@ describe ProformaService::ConvertTaskToExercise do
subject(:convert_to_exercise_service) { described_class.new(task: task, user: user, exercise: exercise) }
let(:task) { Proforma::Task.new }
let(:user) { FactoryBot.build(:teacher) }
let(:exercise) { FactoryBot.build(:dummy) }
let(:user) { build(:teacher) }
let(:exercise) { build(:dummy) }
it 'assigns task' do
expect(convert_to_exercise_service.instance_variable_get(:@task)).to be task
@ -28,7 +28,7 @@ describe ProformaService::ConvertTaskToExercise do
describe '#execute' do
subject(:convert_to_exercise_service) { described_class.call(task: task, user: user, exercise: exercise) }
before { FactoryBot.create(:dot_txt) }
before { create(:dot_txt) }
let(:task) do
Proforma::Task.new(
@ -44,7 +44,7 @@ describe ProformaService::ConvertTaskToExercise do
tests: tests
)
end
let(:user) { FactoryBot.create(:teacher) }
let(:user) { create(:teacher) }
let(:files) { [] }
let(:tests) { [] }
let(:model_solutions) { [] }
@ -301,7 +301,7 @@ describe ProformaService::ConvertTaskToExercise do
context 'when exercise is set' do
let(:exercise) do
FactoryBot.create(
create(
:files,
title: 'exercise-title',
description: 'exercise-description',

View File

@ -6,7 +6,7 @@ describe ProformaService::ExportTask do
describe '.new' do
subject(:export_task) { described_class.new(exercise: exercise) }
let(:exercise) { FactoryBot.build(:dummy) }
let(:exercise) { build(:dummy) }
it 'assigns exercise' do
expect(export_task.instance_variable_get(:@exercise)).to be exercise
@ -25,7 +25,7 @@ describe ProformaService::ExportTask do
subject(:export_task) { described_class.call(exercise: exercise) }
let(:task) { Proforma::Task.new }
let(:exercise) { FactoryBot.build(:dummy) }
let(:exercise) { build(:dummy) }
let(:exporter) { instance_double('Proforma::Exporter', perform: 'zip') }
before do

View File

@ -7,7 +7,7 @@ describe ProformaService::Import do
subject(:import_service) { described_class.new(zip: zip, user: user) }
let(:zip) { Tempfile.new('proforma_test_zip_file') }
let(:user) { FactoryBot.build(:teacher) }
let(:user) { build(:teacher) }
it 'assigns zip' do
expect(import_service.instance_variable_get(:@zip)).to be zip
@ -21,11 +21,11 @@ describe ProformaService::Import do
describe '#execute' do
subject(:import_service) { described_class.call(zip: zip_file, user: import_user) }
let(:user) { FactoryBot.create(:teacher) }
let(:user) { create(:teacher) }
let(:import_user) { user }
let(:zip_file) { Tempfile.new('proforma_test_zip_file', encoding: 'ascii-8bit') }
let(:exercise) do
FactoryBot.create(:dummy,
create(:dummy,
instructions: 'instruction',
execution_environment: execution_environment,
files: files + tests,
@ -34,7 +34,7 @@ describe ProformaService::Import do
end
let(:uuid) { nil }
let(:execution_environment) { FactoryBot.build(:java) }
let(:execution_environment) { build(:java) }
let(:files) { [] }
let(:tests) { [] }
let(:exporter) { ProformaService::ExportTask.call(exercise: exercise.reload).string }
@ -78,12 +78,12 @@ describe ProformaService::Import do
context 'when exercise has a mainfile' do
let(:files) { [file] }
let(:file) { FactoryBot.build(:file) }
let(:file) { build(:file) }
it { is_expected.to be_an_equal_exercise_as exercise }
context 'when the mainfile is very large' do
let(:file) { FactoryBot.build(:file, content: 'test' * (10**5)) }
let(:file) { build(:file, content: 'test' * (10**5)) }
it { is_expected.to be_an_equal_exercise_as exercise }
end
@ -91,12 +91,12 @@ describe ProformaService::Import do
context 'when exercise has a regular file' do
let(:files) { [file] }
let(:file) { FactoryBot.build(:file, role: 'regular_file') }
let(:file) { build(:file, role: 'regular_file') }
it { is_expected.to be_an_equal_exercise_as exercise }
context 'when file has an attachment' do
let(:file) { FactoryBot.build(:file, :image, role: 'regular_file') }
let(:file) { build(:file, :image, role: 'regular_file') }
it { is_expected.to be_an_equal_exercise_as exercise }
end
@ -104,26 +104,26 @@ describe ProformaService::Import do
context 'when exercise has a file with role reference implementation' do
let(:files) { [file] }
let(:file) { FactoryBot.build(:file, role: 'reference_implementation', read_only: true) }
let(:file) { build(:file, role: 'reference_implementation', read_only: true) }
it { is_expected.to be_an_equal_exercise_as exercise }
end
context 'when exercise has multiple files with role reference implementation' do
let(:files) { FactoryBot.build_list(:file, 2, role: 'reference_implementation', read_only: true) }
let(:files) { build_list(:file, 2, role: 'reference_implementation', read_only: true) }
it { is_expected.to be_an_equal_exercise_as exercise }
end
context 'when exercise has a test' do
let(:tests) { [test] }
let(:test) { FactoryBot.build(:test_file) }
let(:test) { build(:test_file) }
it { is_expected.to be_an_equal_exercise_as exercise }
end
context 'when exercise has multiple tests' do
let(:tests) { FactoryBot.build_list(:test_file, 2) }
let(:tests) { build_list(:test_file, 2) }
it { is_expected.to be_an_equal_exercise_as exercise }
end
@ -153,7 +153,7 @@ describe ProformaService::Import do
end
context 'when another user imports the exercise' do
let(:import_user) { FactoryBot.create(:teacher) }
let(:import_user) { create(:teacher) }
it 'raises a proforma error' do
expect { imported_exercise.save! }.to raise_error Proforma::ExerciseNotOwned