diff options
Diffstat (limited to 'spec/features/projects/blobs')
-rw-r--r-- | spec/features/projects/blobs/blob_show_spec.rb | 2 | ||||
-rw-r--r-- | spec/features/projects/blobs/edit_spec.rb | 39 | ||||
-rw-r--r-- | spec/features/projects/blobs/user_creates_new_blob_in_new_project_spec.rb | 63 |
3 files changed, 36 insertions, 68 deletions
diff --git a/spec/features/projects/blobs/blob_show_spec.rb b/spec/features/projects/blobs/blob_show_spec.rb index 13a4c1b5912..93e5be18229 100644 --- a/spec/features/projects/blobs/blob_show_spec.rb +++ b/spec/features/projects/blobs/blob_show_spec.rb @@ -675,7 +675,7 @@ RSpec.describe 'File blob', :js do expect(page).to have_content('This project is licensed under the MIT License.') # shows a learn more link - expect(page).to have_link('Learn more', href: 'http://choosealicense.com/licenses/mit/') + expect(page).to have_link('Learn more', href: 'https://opensource.org/licenses/MIT') end end end diff --git a/spec/features/projects/blobs/edit_spec.rb b/spec/features/projects/blobs/edit_spec.rb index f198a1f42e2..5587b8abab3 100644 --- a/spec/features/projects/blobs/edit_spec.rb +++ b/spec/features/projects/blobs/edit_spec.rb @@ -7,8 +7,8 @@ RSpec.describe 'Editing file blob', :js do include TreeHelper include BlobSpecHelpers - let(:project) { create(:project, :public, :repository) } - let(:merge_request) { create(:merge_request, source_project: project, source_branch: 'feature', target_branch: 'master') } + let_it_be(:project) { create(:project, :public, :repository) } + let_it_be(:merge_request) { create(:merge_request, source_project: project, source_branch: 'feature', target_branch: 'master') } let(:branch) { 'master' } let(:file_path) { project.repository.ls_files(project.repository.root_ref)[1] } let(:readme_file_path) { 'README.md' } @@ -82,6 +82,34 @@ RSpec.describe 'Editing file blob', :js do end end + context 'blob edit toolbar' do + toolbar_buttons = [ + "Add bold text", + "Add italic text", + "Add strikethrough text", + "Insert a quote", + "Insert code", + "Add a link", + "Add a bullet list", + "Add a numbered list", + "Add a checklist", + "Add a collapsible section", + "Add a table" + ] + + before do + visit project_edit_blob_path(project, tree_join(branch, readme_file_path)) + end + + it "has defined set of toolbar buttons" do + buttons = page.all('.file-buttons .md-header-toolbar button[type="button"]') + expect(buttons.length).to eq(toolbar_buttons.length) + toolbar_buttons.each_with_index do |button_title, i| + expect(buttons[i]['title']).to include(button_title) + end + end + end + context 'from blob file path' do before do visit project_blob_path(project, tree_join(branch, file_path)) @@ -156,11 +184,14 @@ RSpec.describe 'Editing file blob', :js do end context 'as developer' do - let(:user) { create(:user) } + let_it_be(:user) { create(:user) } let(:protected_branch) { 'protected-branch' } - before do + before_all do project.add_developer(user) + end + + before do project.repository.add_branch(user, protected_branch, 'master') create(:protected_branch, project: project, name: protected_branch) sign_in(user) diff --git a/spec/features/projects/blobs/user_creates_new_blob_in_new_project_spec.rb b/spec/features/projects/blobs/user_creates_new_blob_in_new_project_spec.rb deleted file mode 100644 index d2774aa74c9..00000000000 --- a/spec/features/projects/blobs/user_creates_new_blob_in_new_project_spec.rb +++ /dev/null @@ -1,63 +0,0 @@ -# frozen_string_literal: true - -require 'spec_helper' - -RSpec.describe 'User creates new blob', :js do - include WebIdeSpecHelpers - - let(:user) { create(:user) } - let(:project) { create(:project, :empty_repo) } - - before do - stub_feature_flags(vscode_web_ide: false) - end - - shared_examples 'creating a file' do - it 'allows the user to add a new file in Web IDE' do - visit project_path(project) - - click_link 'New file' - - wait_for_requests - - ide_create_new_file('dummy-file', content: "Hello world\n") - - ide_commit - - expect(page).to have_content('All changes are committed') - expect(project.repository.blob_at('master', 'dummy-file').data).to eql("Hello world\n") - end - end - - describe 'as a maintainer' do - before do - project.add_maintainer(user) - sign_in(user) - end - - it_behaves_like 'creating a file' - end - - describe 'as an admin' do - let(:user) { create(:user, :admin) } - - before do - sign_in(user) - gitlab_enable_admin_mode_sign_in(user) - end - - it_behaves_like 'creating a file' - end - - describe 'as a developer' do - before do - project.add_developer(user) - sign_in(user) - visit project_path(project) - end - - it 'does not allow pushing to the default branch' do - expect(page).not_to have_content('New file') - end - end -end |