summaryrefslogtreecommitdiff
path: root/spec
diff options
context:
space:
mode:
authorFrancisco Javier López <fjlopez@gitlab.com>2018-09-07 14:10:15 +0000
committerDouwe Maan <douwe@gitlab.com>2018-09-07 14:10:15 +0000
commitf67211f9885df6ebbf68c7a9b0106618fa40ff2f (patch)
treee766521bd1f124300692a303e10a9f04c35c85ba /spec
parent7f2b287f6622dd5052da369a8e83fd6707d96173 (diff)
downloadgitlab-ce-f67211f9885df6ebbf68c7a9b0106618fa40ff2f.tar.gz
Replace whitespaces in wiki page attachments file names
Diffstat (limited to 'spec')
-rw-r--r--spec/services/wikis/create_attachment_service_spec.rb24
1 files changed, 23 insertions, 1 deletions
diff --git a/spec/services/wikis/create_attachment_service_spec.rb b/spec/services/wikis/create_attachment_service_spec.rb
index 3f4da873ce4..f5899f292c8 100644
--- a/spec/services/wikis/create_attachment_service_spec.rb
+++ b/spec/services/wikis/create_attachment_service_spec.rb
@@ -88,8 +88,30 @@ describe Wikis::CreateAttachmentService do
end
end
- describe 'validations' do
+ describe '#parse_file_name' do
context 'when file_name' do
+ context 'has white spaces' do
+ let(:file_name) { 'file with spaces' }
+
+ it "replaces all of them with '_'" do
+ result = service.execute
+
+ expect(result[:status]).to eq :success
+ expect(result[:result][:file_name]).to eq 'file_with_spaces'
+ end
+ end
+
+ context 'has other invalid characters' do
+ let(:file_name) { "file\twith\tinvalid chars" }
+
+ it "replaces all of them with '_'" do
+ result = service.execute
+
+ expect(result[:status]).to eq :success
+ expect(result[:result][:file_name]).to eq 'file_with_invalid_chars'
+ end
+ end
+
context 'is not present' do
let(:file_name) { nil }