diff options
Diffstat (limited to 'spec/support/shared_examples/features/project_upload_files_shared_examples.rb')
-rw-r--r-- | spec/support/shared_examples/features/project_upload_files_shared_examples.rb | 73 |
1 files changed, 64 insertions, 9 deletions
diff --git a/spec/support/shared_examples/features/project_upload_files_shared_examples.rb b/spec/support/shared_examples/features/project_upload_files_shared_examples.rb index 00d3bd08218..7adf303bde4 100644 --- a/spec/support/shared_examples/features/project_upload_files_shared_examples.rb +++ b/spec/support/shared_examples/features/project_upload_files_shared_examples.rb @@ -1,7 +1,7 @@ # frozen_string_literal: true -RSpec.shared_examples 'it uploads and commit a new text file' do - it 'uploads and commit a new text file', :js do +RSpec.shared_examples 'it uploads and commits a new text file' do + it 'uploads and commits a new text file', :js do find('.add-to-tree').click page.within('.dropdown-menu') do @@ -10,7 +10,7 @@ RSpec.shared_examples 'it uploads and commit a new text file' do wait_for_requests end - drop_in_dropzone(File.join(Rails.root, 'spec', 'fixtures', 'doc_sample.txt')) + attach_file('upload_file', File.join(Rails.root, 'spec', 'fixtures', 'doc_sample.txt'), make_visible: true) page.within('#modal-upload-blob') do fill_in(:commit_message, with: 'New commit message') @@ -32,8 +32,8 @@ RSpec.shared_examples 'it uploads and commit a new text file' do end end -RSpec.shared_examples 'it uploads and commit a new image file' do - it 'uploads and commit a new image file', :js do +RSpec.shared_examples 'it uploads and commits a new image file' do + it 'uploads and commits a new image file', :js do find('.add-to-tree').click page.within('.dropdown-menu') do @@ -42,7 +42,7 @@ RSpec.shared_examples 'it uploads and commit a new image file' do wait_for_requests end - drop_in_dropzone(File.join(Rails.root, 'spec', 'fixtures', 'logo_sample.svg')) + attach_file('upload_file', File.join(Rails.root, 'spec', 'fixtures', 'logo_sample.svg'), make_visible: true) page.within('#modal-upload-blob') do fill_in(:commit_message, with: 'New commit message') @@ -58,21 +58,49 @@ RSpec.shared_examples 'it uploads and commit a new image file' do end end -RSpec.shared_examples 'it uploads and commit a new file to a forked project' do +RSpec.shared_examples 'it uploads and commits a new pdf file' do + it 'uploads and commits a new pdf file', :js do + find('.add-to-tree').click + + page.within('.dropdown-menu') do + click_link('Upload file') + + wait_for_requests + end + + attach_file('upload_file', File.join(Rails.root, 'spec', 'fixtures', 'git-cheat-sheet.pdf'), make_visible: true) + + page.within('#modal-upload-blob') do + fill_in(:commit_message, with: 'New commit message') + fill_in(:branch_name, with: 'upload_image', visible: true) + click_button('Upload file') + end + + wait_for_all_requests + + visit(project_blob_path(project, 'upload_image/git-cheat-sheet.pdf')) + + expect(page).to have_css('.js-pdf-viewer') + end +end + +RSpec.shared_examples 'it uploads and commits a new file to a forked project' do let(:fork_message) do "You're not allowed to make changes to this project directly. "\ "A fork of this project has been created that you can make changes in, so you can submit a merge request." end - it 'uploads and commit a new file to a forked project', :js, :sidekiq_might_not_need_inline do + it 'uploads and commits a new file to a forked project', :js, :sidekiq_might_not_need_inline do find('.add-to-tree').click click_link('Upload file') expect(page).to have_content(fork_message) + wait_for_all_requests + find('.add-to-tree').click click_link('Upload file') - drop_in_dropzone(File.join(Rails.root, 'spec', 'fixtures', 'doc_sample.txt')) + attach_file('upload_file', File.join(Rails.root, 'spec', 'fixtures', 'doc_sample.txt'), make_visible: true) page.within('#modal-upload-blob') do fill_in(:commit_message, with: 'New commit message') @@ -95,6 +123,33 @@ RSpec.shared_examples 'it uploads and commit a new file to a forked project' do end end +RSpec.shared_examples 'it uploads a file to a sub-directory' do + it 'uploads a file to a sub-directory', :js do + click_link 'files' + + page.within('.repo-breadcrumb') do + expect(page).to have_content('files') + end + + find('.add-to-tree').click + click_link('Upload file') + attach_file('upload_file', File.join(Rails.root, 'spec', 'fixtures', 'doc_sample.txt'), make_visible: true) + + page.within('#modal-upload-blob') do + fill_in(:commit_message, with: 'New commit message') + end + + click_button('Upload file') + + expect(page).to have_content('New commit message') + + page.within('.repo-breadcrumb') do + expect(page).to have_content('files') + expect(page).to have_content('doc_sample.txt') + end + end +end + RSpec.shared_examples 'uploads and commits a new text file via "upload file" button' do it 'uploads and commits a new text file via "upload file" button', :js do find('[data-testid="upload-file-button"]').click |