diff options
Diffstat (limited to 'spec/controllers')
20 files changed, 189 insertions, 106 deletions
diff --git a/spec/controllers/admin/groups_controller_spec.rb b/spec/controllers/admin/groups_controller_spec.rb new file mode 100644 index 00000000000..0239aea47fb --- /dev/null +++ b/spec/controllers/admin/groups_controller_spec.rb @@ -0,0 +1,24 @@ +require 'spec_helper' + +describe Admin::GroupsController do + let(:group) { create(:group) } + let(:project) { create(:project, namespace: group) } + let(:admin) { create(:admin) } + + before do + sign_in(admin) + Sidekiq::Testing.fake! + end + + describe 'DELETE #destroy' do + it 'schedules a group destroy' do + expect { delete :destroy, id: project.group.path }.to change(GroupDestroyWorker.jobs, :size).by(1) + end + + it 'redirects to the admin group path' do + delete :destroy, id: project.group.path + + expect(response).to redirect_to(admin_groups_path) + end + end +end diff --git a/spec/controllers/admin/users_controller_spec.rb b/spec/controllers/admin/users_controller_spec.rb index ab9aa65f7b9..33fe3c73822 100644 --- a/spec/controllers/admin/users_controller_spec.rb +++ b/spec/controllers/admin/users_controller_spec.rb @@ -39,7 +39,7 @@ describe Admin::UsersController do user.ldap_block end - it 'will not unblock user' do + it 'does not unblock user' do put :unblock, id: user.username user.reload expect(user.blocked?).to be_truthy diff --git a/spec/controllers/application_controller_spec.rb b/spec/controllers/application_controller_spec.rb index 8bd210cbc3d..98e912f000c 100644 --- a/spec/controllers/application_controller_spec.rb +++ b/spec/controllers/application_controller_spec.rb @@ -5,7 +5,7 @@ describe ApplicationController do let(:user) { create(:user) } let(:controller) { ApplicationController.new } - it 'should redirect if the user is over their password expiry' do + it 'redirects if the user is over their password expiry' do user.password_expires_at = Time.new(2002) expect(user.ldap_user?).to be_falsey allow(controller).to receive(:current_user).and_return(user) @@ -14,7 +14,7 @@ describe ApplicationController do controller.send(:check_password_expiration) end - it 'should not redirect if the user is under their password expiry' do + it 'does not redirect if the user is under their password expiry' do user.password_expires_at = Time.now + 20010101 expect(user.ldap_user?).to be_falsey allow(controller).to receive(:current_user).and_return(user) @@ -22,7 +22,7 @@ describe ApplicationController do controller.send(:check_password_expiration) end - it 'should not redirect if the user is over their password expiry but they are an ldap user' do + it 'does not redirect if the user is over their password expiry but they are an ldap user' do user.password_expires_at = Time.new(2002) allow(user).to receive(:ldap_user?).and_return(true) allow(controller).to receive(:current_user).and_return(user) diff --git a/spec/controllers/groups/avatars_controller_spec.rb b/spec/controllers/groups/avatars_controller_spec.rb index 91d639218e5..506aeee7d2a 100644 --- a/spec/controllers/groups/avatars_controller_spec.rb +++ b/spec/controllers/groups/avatars_controller_spec.rb @@ -9,7 +9,7 @@ describe Groups::AvatarsController do sign_in(user) end - it 'destroy should remove avatar from DB' do + it 'removes avatar from DB calling destroy' do delete :destroy, group_id: group.path @group = assigns(:group) expect(@group.avatar.present?).to be_falsey diff --git a/spec/controllers/groups/milestones_controller_spec.rb b/spec/controllers/groups/milestones_controller_spec.rb index b0793cb1655..8c52f615b8b 100644 --- a/spec/controllers/groups/milestones_controller_spec.rb +++ b/spec/controllers/groups/milestones_controller_spec.rb @@ -15,7 +15,7 @@ describe Groups::MilestonesController do end describe "#create" do - it "should create group milestone with Chinese title" do + it "creates group milestone with Chinese title" do post :create, group_id: group.id, milestone: { project_ids: [project.id, project2.id], title: title } diff --git a/spec/controllers/groups_controller_spec.rb b/spec/controllers/groups_controller_spec.rb index cd98fecd0c7..4ae6364207b 100644 --- a/spec/controllers/groups_controller_spec.rb +++ b/spec/controllers/groups_controller_spec.rb @@ -75,4 +75,33 @@ describe GroupsController do end end end + + describe 'DELETE #destroy' do + context 'as another user' do + it 'returns 404' do + sign_in(create(:user)) + + delete :destroy, id: group.path + + expect(response.status).to eq(404) + end + end + + context 'as the group owner' do + before do + Sidekiq::Testing.fake! + sign_in(user) + end + + it 'schedules a group destroy' do + expect { delete :destroy, id: group.path }.to change(GroupDestroyWorker.jobs, :size).by(1) + end + + it 'redirects to the root path' do + delete :destroy, id: group.path + + expect(response).to redirect_to(root_path) + end + end + end end diff --git a/spec/controllers/profiles/avatars_controller_spec.rb b/spec/controllers/profiles/avatars_controller_spec.rb index ad5855df0a4..4fa0462ccdf 100644 --- a/spec/controllers/profiles/avatars_controller_spec.rb +++ b/spec/controllers/profiles/avatars_controller_spec.rb @@ -8,7 +8,7 @@ describe Profiles::AvatarsController do controller.instance_variable_set(:@user, user) end - it 'destroy should remove avatar from DB' do + it 'removes avatar from DB by calling destroy' do delete :destroy @user = assigns(:user) expect(@user.avatar.present?).to be_falsey diff --git a/spec/controllers/profiles/keys_controller_spec.rb b/spec/controllers/profiles/keys_controller_spec.rb index 3a82083717f..6bcfae0fc13 100644 --- a/spec/controllers/profiles/keys_controller_spec.rb +++ b/spec/controllers/profiles/keys_controller_spec.rb @@ -6,7 +6,7 @@ describe Profiles::KeysController do describe '#new' do before { sign_in(user) } - it 'redirect to #index' do + it 'redirects to #index' do get :new expect(response).to redirect_to(profile_keys_path) @@ -15,7 +15,7 @@ describe Profiles::KeysController do describe "#get_keys" do describe "non existant user" do - it "should generally not work" do + it "does not generally work" do get :get_keys, username: 'not-existent' expect(response).not_to be_success @@ -23,19 +23,19 @@ describe Profiles::KeysController do end describe "user with no keys" do - it "should generally work" do + it "does generally work" do get :get_keys, username: user.username expect(response).to be_success end - it "should render all keys separated with a new line" do + it "renders all keys separated with a new line" do get :get_keys, username: user.username expect(response.body).to eq("") end - it "should respond with text/plain content type" do + it "responds with text/plain content type" do get :get_keys, username: user.username expect(response.content_type).to eq("text/plain") end @@ -47,13 +47,13 @@ describe Profiles::KeysController do user.keys << create(:another_key) end - it "should generally work" do + it "does generally work" do get :get_keys, username: user.username expect(response).to be_success end - it "should render all keys separated with a new line" do + it "renders all keys separated with a new line" do get :get_keys, username: user.username expect(response.body).not_to eq("") @@ -65,13 +65,13 @@ describe Profiles::KeysController do expect(response.body).to match(/AQDmTillFzNTrrGgwaCKaSj/) end - it "should not render the comment of the key" do + it "does not render the comment of the key" do get :get_keys, username: user.username expect(response.body).not_to match(/dummy@gitlab.com/) end - it "should respond with text/plain content type" do + it "responds with text/plain content type" do get :get_keys, username: user.username expect(response.content_type).to eq("text/plain") end diff --git a/spec/controllers/projects/avatars_controller_spec.rb b/spec/controllers/projects/avatars_controller_spec.rb index 4d724ca9ed0..f5ea097af8b 100644 --- a/spec/controllers/projects/avatars_controller_spec.rb +++ b/spec/controllers/projects/avatars_controller_spec.rb @@ -10,7 +10,7 @@ describe Projects::AvatarsController do controller.instance_variable_set(:@project, project) end - it 'destroy should remove avatar from DB' do + it 'removes avatar from DB by calling destroy' do delete :destroy, namespace_id: project.namespace.id, project_id: project.id expect(project.avatar.present?).to be_falsey expect(project).to be_valid diff --git a/spec/controllers/projects/commit_controller_spec.rb b/spec/controllers/projects/commit_controller_spec.rb index df902da86f8..7e440193d7b 100644 --- a/spec/controllers/projects/commit_controller_spec.rb +++ b/spec/controllers/projects/commit_controller_spec.rb @@ -47,25 +47,25 @@ describe Projects::CommitController do end shared_examples "export as" do |format| - it "should generally work" do + it "does generally work" do go(id: commit.id, format: format) expect(response).to be_success end - it "should generate it" do + it "generates it" do expect_any_instance_of(Commit).to receive(:"to_#{format}") go(id: commit.id, format: format) end - it "should render it" do + it "renders it" do go(id: commit.id, format: format) expect(response.body).to eq(commit.send(:"to_#{format}")) end - it "should not escape Html" do + it "does not escape Html" do allow_any_instance_of(Commit).to receive(:"to_#{format}"). and_return('HTML entities &<>" ') @@ -83,17 +83,18 @@ describe Projects::CommitController do let(:format) { :diff } it "should really only be a git diff" do - go(id: commit.id, format: format) + go(id: '66eceea0db202bb39c4e445e8ca28689645366c5', format: format) expect(response.body).to start_with("diff --git") end - it "should really only be a git diff without whitespace changes" do + it "is only be a git diff without whitespace changes" do go(id: '66eceea0db202bb39c4e445e8ca28689645366c5', format: format, w: 1) expect(response.body).to start_with("diff --git") - # without whitespace option, there are more than 2 diff_splits - diff_splits = assigns(:diffs).first.diff.split("\n") + + # without whitespace option, there are more than 2 diff_splits for other formats + diff_splits = assigns(:diffs).diff_files.first.diff.diff.split("\n") expect(diff_splits.length).to be <= 2 end end @@ -102,13 +103,13 @@ describe Projects::CommitController do include_examples "export as", :patch let(:format) { :patch } - it "should really be a git email patch" do + it "is a git email patch" do go(id: commit.id, format: format) expect(response.body).to start_with("From #{commit.id}") end - it "should contain a git diff" do + it "contains a git diff" do go(id: commit.id, format: format) expect(response.body).to match(/^diff --git/) @@ -146,7 +147,7 @@ describe Projects::CommitController do describe 'POST revert' do context 'when target branch is not provided' do - it 'should render the 404 page' do + it 'renders the 404 page' do post(:revert, namespace_id: project.namespace.to_param, project_id: project.to_param, @@ -158,7 +159,7 @@ describe Projects::CommitController do end context 'when the revert was successful' do - it 'should redirect to the commits page' do + it 'redirects to the commits page' do post(:revert, namespace_id: project.namespace.to_param, project_id: project.to_param, @@ -179,7 +180,7 @@ describe Projects::CommitController do id: commit.id) end - it 'should redirect to the commit page' do + it 'redirects to the commit page' do # Reverting a commit that has been already reverted. post(:revert, namespace_id: project.namespace.to_param, @@ -195,7 +196,7 @@ describe Projects::CommitController do describe 'POST cherry_pick' do context 'when target branch is not provided' do - it 'should render the 404 page' do + it 'renders the 404 page' do post(:cherry_pick, namespace_id: project.namespace.to_param, project_id: project.to_param, @@ -207,7 +208,7 @@ describe Projects::CommitController do end context 'when the cherry-pick was successful' do - it 'should redirect to the commits page' do + it 'redirects to the commits page' do post(:cherry_pick, namespace_id: project.namespace.to_param, project_id: project.to_param, @@ -228,7 +229,7 @@ describe Projects::CommitController do id: master_pickable_commit.id) end - it 'should redirect to the commit page' do + it 'redirects to the commit page' do # Cherry-picking a commit that has been already cherry-picked. post(:cherry_pick, namespace_id: project.namespace.to_param, @@ -266,9 +267,9 @@ describe Projects::CommitController do end it 'only renders the diffs for the path given' do - expect(controller).to receive(:render_diff_for_path).and_wrap_original do |meth, diffs, diff_refs, project| - expect(diffs.map(&:new_path)).to contain_exactly(existing_path) - meth.call(diffs, diff_refs, project) + expect(controller).to receive(:render_diff_for_path).and_wrap_original do |meth, diffs| + expect(diffs.diff_files.map(&:new_path)).to contain_exactly(existing_path) + meth.call(diffs) end diff_for_path(id: commit.id, old_path: existing_path, new_path: existing_path) diff --git a/spec/controllers/projects/commits_controller_spec.rb b/spec/controllers/projects/commits_controller_spec.rb index 7d8089c4bc6..2518a48e336 100644 --- a/spec/controllers/projects/commits_controller_spec.rb +++ b/spec/controllers/projects/commits_controller_spec.rb @@ -11,7 +11,7 @@ describe Projects::CommitsController do describe "GET show" do context "as atom feed" do - it "should render as atom" do + it "renders as atom" do get(:show, namespace_id: project.namespace.to_param, project_id: project.to_param, diff --git a/spec/controllers/projects/compare_controller_spec.rb b/spec/controllers/projects/compare_controller_spec.rb index 4058d5e2453..7a57801c437 100644 --- a/spec/controllers/projects/compare_controller_spec.rb +++ b/spec/controllers/projects/compare_controller_spec.rb @@ -11,7 +11,7 @@ describe Projects::CompareController do project.team << [user, :master] end - it 'compare should show some diffs' do + it 'compare shows some diffs' do get(:show, namespace_id: project.namespace.to_param, project_id: project.to_param, @@ -19,11 +19,11 @@ describe Projects::CompareController do to: ref_to) expect(response).to be_success - expect(assigns(:diffs).first).not_to be_nil + expect(assigns(:diffs).diff_files.first).not_to be_nil expect(assigns(:commits).length).to be >= 1 end - it 'compare should show some diffs with ignore whitespace change option' do + it 'compare shows some diffs with ignore whitespace change option' do get(:show, namespace_id: project.namespace.to_param, project_id: project.to_param, @@ -32,15 +32,16 @@ describe Projects::CompareController do w: 1) expect(response).to be_success - expect(assigns(:diffs).first).not_to be_nil + diff_file = assigns(:diffs).diff_files.first + expect(diff_file).not_to be_nil expect(assigns(:commits).length).to be >= 1 # without whitespace option, there are more than 2 diff_splits - diff_splits = assigns(:diffs).first.diff.split("\n") + diff_splits = diff_file.diff.diff.split("\n") expect(diff_splits.length).to be <= 2 end describe 'non-existent refs' do - it 'invalid source ref' do + it 'uses invalid source ref' do get(:show, namespace_id: project.namespace.to_param, project_id: project.to_param, @@ -48,11 +49,11 @@ describe Projects::CompareController do to: ref_to) expect(response).to be_success - expect(assigns(:diffs).to_a).to eq([]) + expect(assigns(:diffs).diff_files.to_a).to eq([]) expect(assigns(:commits)).to eq([]) end - it 'invalid target ref' do + it 'uses invalid target ref' do get(:show, namespace_id: project.namespace.to_param, project_id: project.to_param, @@ -87,9 +88,9 @@ describe Projects::CompareController do end it 'only renders the diffs for the path given' do - expect(controller).to receive(:render_diff_for_path).and_wrap_original do |meth, diffs, diff_refs, project| - expect(diffs.map(&:new_path)).to contain_exactly(existing_path) - meth.call(diffs, diff_refs, project) + expect(controller).to receive(:render_diff_for_path).and_wrap_original do |meth, diffs| + expect(diffs.diff_files.map(&:new_path)).to contain_exactly(existing_path) + meth.call(diffs) end diff_for_path(from: ref_from, to: ref_to, old_path: existing_path, new_path: existing_path) diff --git a/spec/controllers/projects/forks_controller_spec.rb b/spec/controllers/projects/forks_controller_spec.rb index f66bcb8099c..ac3469cb8a9 100644 --- a/spec/controllers/projects/forks_controller_spec.rb +++ b/spec/controllers/projects/forks_controller_spec.rb @@ -16,7 +16,7 @@ describe Projects::ForksController do context 'when fork is public' do before { forked_project.update_attribute(:visibility_level, Project::PUBLIC) } - it 'should be visible for non logged in users' do + it 'is visible for non logged in users' do get_forks expect(assigns[:forks]).to be_present @@ -28,7 +28,7 @@ describe Projects::ForksController do forked_project.update_attributes(visibility_level: Project::PRIVATE, group: group) end - it 'should not be visible for non logged in users' do + it 'is not be visible for non logged in users' do get_forks expect(assigns[:forks]).to be_blank @@ -38,7 +38,7 @@ describe Projects::ForksController do before { sign_in(project.creator) } context 'when user is not a Project member neither a group member' do - it 'should not see the Project listed' do + it 'does not see the Project listed' do get_forks expect(assigns[:forks]).to be_blank @@ -48,7 +48,7 @@ describe Projects::ForksController do context 'when user is a member of the Project' do before { forked_project.team << [project.creator, :developer] } - it 'should see the project listed' do + it 'sees the project listed' do get_forks expect(assigns[:forks]).to be_present @@ -58,7 +58,7 @@ describe Projects::ForksController do context 'when user is a member of the Group' do before { forked_project.group.add_developer(project.creator) } - it 'should see the project listed' do + it 'sees the project listed' do get_forks expect(assigns[:forks]).to be_present diff --git a/spec/controllers/projects/issues_controller_spec.rb b/spec/controllers/projects/issues_controller_spec.rb index 77f65057f71..b6a0276846c 100644 --- a/spec/controllers/projects/issues_controller_spec.rb +++ b/spec/controllers/projects/issues_controller_spec.rb @@ -6,37 +6,65 @@ describe Projects::IssuesController do let(:issue) { create(:issue, project: project) } describe "GET #index" do - before do - sign_in(user) - project.team << [user, :developer] - end + context 'external issue tracker' do + it 'redirects to the external issue tracker' do + external = double(issues_url: 'https://example.com/issues') + allow(project).to receive(:external_issue_tracker).and_return(external) + controller.instance_variable_set(:@project, project) - it "returns index" do - get :index, namespace_id: project.namespace.path, project_id: project.path + get :index, namespace_id: project.namespace.path, project_id: project - expect(response).to have_http_status(200) + expect(response).to redirect_to('https://example.com/issues') + end end - it "return 301 if request path doesn't match project path" do - get :index, namespace_id: project.namespace.path, project_id: project.path.upcase + context 'internal issue tracker' do + before do + sign_in(user) + project.team << [user, :developer] + end - expect(response).to redirect_to(namespace_project_issues_path(project.namespace, project)) - end + it "returns index" do + get :index, namespace_id: project.namespace.path, project_id: project.path + + expect(response).to have_http_status(200) + end - it "returns 404 when issues are disabled" do - project.issues_enabled = false - project.save + it "returns 301 if request path doesn't match project path" do + get :index, namespace_id: project.namespace.path, project_id: project.path.upcase - get :index, namespace_id: project.namespace.path, project_id: project.path - expect(response).to have_http_status(404) + expect(response).to redirect_to(namespace_project_issues_path(project.namespace, project)) + end + + it "returns 404 when issues are disabled" do + project.issues_enabled = false + project.save + + get :index, namespace_id: project.namespace.path, project_id: project.path + expect(response).to have_http_status(404) + end + + it "returns 404 when external issue tracker is enabled" do + controller.instance_variable_set(:@project, project) + allow(project).to receive(:default_issues_tracker?).and_return(false) + + get :index, namespace_id: project.namespace.path, project_id: project.path + expect(response).to have_http_status(404) + end end + end + + describe 'GET #new' do + context 'external issue tracker' do + it 'redirects to the external issue tracker' do + external = double(new_issue_path: 'https://example.com/issues/new') + allow(project).to receive(:external_issue_tracker).and_return(external) + controller.instance_variable_set(:@project, project) - it "returns 404 when external issue tracker is enabled" do - controller.instance_variable_set(:@project, project) - allow(project).to receive(:default_issues_tracker?).and_return(false) + get :new, namespace_id: project.namespace.path, project_id: project - get :index, namespace_id: project.namespace.path, project_id: project.path - expect(response).to have_http_status(404) + expect(response).to redirect_to('https://example.com/issues/new') + end end end @@ -91,21 +119,21 @@ describe Projects::IssuesController do let!(:request_forgery_timing_attack) { create(:issue, :confidential, project: project, assignee: assignee) } describe 'GET #index' do - it 'should not list confidential issues for guests' do + it 'does not list confidential issues for guests' do sign_out(:user) get_issues expect(assigns(:issues)).to eq [issue] end - it 'should not list confidential issues for non project members' do + it 'does not list confidential issues for non project members' do sign_in(non_member) get_issues expect(assigns(:issues)).to eq [issue] end - it 'should not list confidential issues for project members with guest role' do + it 'does not list confidential issues for project members with guest role' do sign_in(member) project.team << [member, :guest] @@ -114,7 +142,7 @@ describe Projects::IssuesController do expect(assigns(:issues)).to eq [issue] end - it 'should list confidential issues for author' do + it 'lists confidential issues for author' do sign_in(author) get_issues @@ -122,7 +150,7 @@ describe Projects::IssuesController do expect(assigns(:issues)).not_to include request_forgery_timing_attack end - it 'should list confidential issues for assignee' do + it 'lists confidential issues for assignee' do sign_in(assignee) get_issues @@ -130,7 +158,7 @@ describe Projects::IssuesController do expect(assigns(:issues)).to include request_forgery_timing_attack end - it 'should list confidential issues for project members' do + it 'lists confidential issues for project members' do sign_in(member) project.team << [member, :developer] @@ -140,7 +168,7 @@ describe Projects::IssuesController do expect(assigns(:issues)).to include request_forgery_timing_attack end - it 'should list confidential issues for admin' do + it 'lists confidential issues for admin' do sign_in(admin) get_issues diff --git a/spec/controllers/projects/merge_requests_controller_spec.rb b/spec/controllers/projects/merge_requests_controller_spec.rb index 210085e3b1a..69758494543 100644 --- a/spec/controllers/projects/merge_requests_controller_spec.rb +++ b/spec/controllers/projects/merge_requests_controller_spec.rb @@ -36,7 +36,7 @@ describe Projects::MergeRequestsController do describe "GET show" do shared_examples "export merge as" do |format| - it "should generally work" do + it "does generally work" do get(:show, namespace_id: project.namespace.to_param, project_id: project.to_param, @@ -46,7 +46,7 @@ describe Projects::MergeRequestsController do expect(response).to be_success end - it "should generate it" do + it "generates it" do expect_any_instance_of(MergeRequest).to receive(:"to_#{format}") get(:show, @@ -56,7 +56,7 @@ describe Projects::MergeRequestsController do format: format) end - it "should render it" do + it "renders it" do get(:show, namespace_id: project.namespace.to_param, project_id: project.to_param, @@ -66,7 +66,7 @@ describe Projects::MergeRequestsController do expect(response.body).to eq(merge_request.send(:"to_#{format}").to_s) end - it "should not escape Html" do + it "does not escape Html" do allow_any_instance_of(MergeRequest).to receive(:"to_#{format}"). and_return('HTML entities &<>" ') @@ -118,7 +118,7 @@ describe Projects::MergeRequestsController do context 'when filtering by opened state' do context 'with opened merge requests' do - it 'should list those merge requests' do + it 'lists those merge requests' do get_merge_requests expect(assigns(:merge_requests)).to include(merge_request) @@ -131,7 +131,7 @@ describe Projects::MergeRequestsController do merge_request.reopen! end - it 'should list those merge requests' do + it 'lists those merge requests' do get_merge_requests expect(assigns(:merge_requests)).to include(merge_request) @@ -392,9 +392,9 @@ describe Projects::MergeRequestsController do end it 'only renders the diffs for the path given' do - expect(controller).to receive(:render_diff_for_path).and_wrap_original do |meth, diffs, diff_refs, project| - expect(diffs.map(&:new_path)).to contain_exactly(existing_path) - meth.call(diffs, diff_refs, project) + expect(controller).to receive(:render_diff_for_path).and_wrap_original do |meth, diffs| + expect(diffs.diff_files.map(&:new_path)).to contain_exactly(existing_path) + meth.call(diffs) end diff_for_path(id: merge_request.iid, old_path: existing_path, new_path: existing_path) @@ -455,9 +455,9 @@ describe Projects::MergeRequestsController do end it 'only renders the diffs for the path given' do - expect(controller).to receive(:render_diff_for_path).and_wrap_original do |meth, diffs, diff_refs, project| - expect(diffs.map(&:new_path)).to contain_exactly(existing_path) - meth.call(diffs, diff_refs, project) + expect(controller).to receive(:render_diff_for_path).and_wrap_original do |meth, diffs| + expect(diffs.diff_files.map(&:new_path)).to contain_exactly(existing_path) + meth.call(diffs) end diff_for_path(old_path: existing_path, new_path: existing_path, merge_request: { source_branch: 'feature', target_branch: 'master' }) @@ -477,9 +477,9 @@ describe Projects::MergeRequestsController do end it 'only renders the diffs for the path given' do - expect(controller).to receive(:render_diff_for_path).and_wrap_original do |meth, diffs, diff_refs, project| - expect(diffs.map(&:new_path)).to contain_exactly(existing_path) - meth.call(diffs, diff_refs, project) + expect(controller).to receive(:render_diff_for_path).and_wrap_original do |meth, diffs| + expect(diffs.diff_files.map(&:new_path)).to contain_exactly(existing_path) + meth.call(diffs) end diff_for_path(old_path: existing_path, new_path: existing_path, merge_request: { source_project: other_project, source_branch: 'feature', target_branch: 'master' }) diff --git a/spec/controllers/projects/milestones_controller_spec.rb b/spec/controllers/projects/milestones_controller_spec.rb index d173bb350f1..4e3ef5dc6fa 100644 --- a/spec/controllers/projects/milestones_controller_spec.rb +++ b/spec/controllers/projects/milestones_controller_spec.rb @@ -14,7 +14,7 @@ describe Projects::MilestonesController do end describe "#destroy" do - it "should remove milestone" do + it "removes milestone" do expect(issue.milestone_id).to eq(milestone.id) delete :destroy, namespace_id: project.namespace.id, project_id: project.id, id: milestone.iid, format: :js diff --git a/spec/controllers/projects/protected_branches_controller_spec.rb b/spec/controllers/projects/protected_branches_controller_spec.rb index 596d8d34b7c..da6112a13f7 100644 --- a/spec/controllers/projects/protected_branches_controller_spec.rb +++ b/spec/controllers/projects/protected_branches_controller_spec.rb @@ -3,7 +3,7 @@ require('spec_helper') describe Projects::ProtectedBranchesController do describe "GET #index" do let(:project) { create(:project_empty_repo, :public) } - it "redirect empty repo to projects page" do + it "redirects empty repo to projects page" do get(:index, namespace_id: project.namespace.to_param, project_id: project.to_param) end end diff --git a/spec/controllers/projects/raw_controller_spec.rb b/spec/controllers/projects/raw_controller_spec.rb index 48f799d8ca1..04bd9a01f7b 100644 --- a/spec/controllers/projects/raw_controller_spec.rb +++ b/spec/controllers/projects/raw_controller_spec.rb @@ -24,7 +24,7 @@ describe Projects::RawController do context 'image header' do let(:id) { 'master/files/images/6049019_460s.jpg' } - it 'set image content type header' do + it 'sets image content type header' do get(:show, namespace_id: public_project.namespace.to_param, project_id: public_project.to_param, diff --git a/spec/controllers/projects/services_controller_spec.rb b/spec/controllers/projects/services_controller_spec.rb index ccd8c741c83..cccd492ef06 100644 --- a/spec/controllers/projects/services_controller_spec.rb +++ b/spec/controllers/projects/services_controller_spec.rb @@ -19,7 +19,7 @@ describe Projects::ServicesController do describe "#test" do context 'success' do - it "should redirect and show success message" do + it "redirects and show success message" do expect(service).to receive(:test).and_return({ success: true, result: 'done' }) get :test, namespace_id: project.namespace.id, project_id: project.id, id: service.id, format: :html expect(response.status).to redirect_to('/') @@ -28,7 +28,7 @@ describe Projects::ServicesController do end context 'failure' do - it "should redirect and show failure message" do + it "redirects and show failure message" do expect(service).to receive(:test).and_return({ success: false, result: 'Bad test' }) get :test, namespace_id: project.namespace.id, project_id: project.id, id: service.id, format: :html expect(response.status).to redirect_to('/') diff --git a/spec/controllers/projects_controller_spec.rb b/spec/controllers/projects_controller_spec.rb index 3edce4d339c..ffe0641ddd7 100644 --- a/spec/controllers/projects_controller_spec.rb +++ b/spec/controllers/projects_controller_spec.rb @@ -128,7 +128,7 @@ describe ProjectsController do context "when the url contains .atom" do let(:public_project_with_dot_atom) { build(:project, :public, name: 'my.atom', path: 'my.atom') } - it 'expect an error creating the project' do + it 'expects an error creating the project' do expect(public_project_with_dot_atom).not_to be_valid end end @@ -222,7 +222,7 @@ describe ProjectsController do create(:forked_project_link, forked_to_project: project_fork) end - it 'should remove fork from project' do + it 'removes fork from project' do delete(:remove_fork, namespace_id: project_fork.namespace.to_param, id: project_fork.to_param, format: :js) @@ -236,7 +236,7 @@ describe ProjectsController do context 'when project not forked' do let(:unforked_project) { create(:project, namespace: user.namespace) } - it 'should do nothing if project was not forked' do + it 'does nothing if project was not forked' do delete(:remove_fork, namespace_id: unforked_project.namespace.to_param, id: unforked_project.to_param, format: :js) @@ -256,7 +256,7 @@ describe ProjectsController do end describe "GET refs" do - it "should get a list of branches and tags" do + it "gets a list of branches and tags" do get :refs, namespace_id: public_project.namespace.path, id: public_project.path parsed_body = JSON.parse(response.body) @@ -265,7 +265,7 @@ describe ProjectsController do expect(parsed_body["Commits"]).to be_nil end - it "should get a list of branches, tags and commits" do + it "gets a list of branches, tags and commits" do get :refs, namespace_id: public_project.namespace.path, id: public_project.path, ref: "123456" parsed_body = JSON.parse(response.body) |
