add specs for nil paths

This commit is contained in:
Karol
2019-12-10 16:37:36 +01:00
parent 7abc952e75
commit 06053d437d

View File

@ -69,7 +69,7 @@ describe ProformaService::ConvertTaskToExercise do
Proforma::TaskFile.new( Proforma::TaskFile.new(
id: 'id', id: 'id',
content: content, content: content,
filename: 'filename.txt', filename: "#{path}filename.txt",
used_by_grader: 'used_by_grader', used_by_grader: 'used_by_grader',
visible: 'yes', visible: 'yes',
usage_by_lms: usage_by_lms, usage_by_lms: usage_by_lms,
@ -82,6 +82,7 @@ describe ProformaService::ConvertTaskToExercise do
let(:mimetype) { 'mimetype' } let(:mimetype) { 'mimetype' }
let(:binary) { false } let(:binary) { false }
let(:content) { 'content' } let(:content) { 'content' }
let(:path) {}
it 'creates an exercise with a file that has the correct attributes' do it 'creates an exercise with a file that has the correct attributes' do
expect(convert_to_exercise_service.files.first).to have_attributes( expect(convert_to_exercise_service.files.first).to have_attributes(
@ -90,7 +91,8 @@ describe ProformaService::ConvertTaskToExercise do
role: 'regular_file', role: 'regular_file',
hidden: false, hidden: false,
read_only: true, read_only: true,
file_type: be_a(FileType).and(have_attributes(file_extension: '.txt')) file_type: be_a(FileType).and(have_attributes(file_extension: '.txt')),
path: nil
) )
end end
@ -98,6 +100,22 @@ describe ProformaService::ConvertTaskToExercise do
expect { convert_to_exercise_service.save! }.to change(Exercise, :count).by(1) expect { convert_to_exercise_service.save! }.to change(Exercise, :count).by(1)
end end
context 'when path is folder/' do
let(:path) { 'folder/' }
it 'creates an exercise with a file that has the correct path' do
expect(convert_to_exercise_service.files.first).to have_attributes(path: 'folder')
end
end
context 'when path is ./' do
let(:path) { './' }
it 'creates an exercise with a file that has the correct path' do
expect(convert_to_exercise_service.files.first).to have_attributes(path: nil)
end
end
context 'when file is very large' do context 'when file is very large' do
let(:content) { 'test' * 10**5 } let(:content) { 'test' * 10**5 }