Skip to content
Snippets Groups Projects
Commit c9048340 authored by tiagonbotelho's avatar tiagonbotelho
Browse files

refactors tests because of gitlab-test repository changes

parent ff076d88
No related branches found
No related tags found
No related merge requests found
Showing
with 65 additions and 46 deletions
Loading
Loading
@@ -119,7 +119,6 @@ v 8.12.1
- Fix issue with search filter labels not displaying
 
v 8.12.0
v 8.12.0 (unreleased)
- Removes inconsistency regarding tagging immediatelly as merged once you create a new branch. !6408
- Update the rouge gem to 2.0.6, which adds highlighting support for JSX, Prometheus, and others. !6251
- Only check :can_resolve permission if the note is resolvable
Loading
Loading
Loading
Loading
@@ -1013,17 +1013,14 @@ class Repository
branch_commit = commit(branch_name)
root_ref_commit = commit(root_ref)
 
if branch_commit && !same_head?(branch_commit.id, root_ref_commit.id)
is_ancestor?(branch_commit.id, root_ref_commit.id)
if branch_commit
same_head = branch_commit.id == root_ref_commit.id
!same_head && is_ancestor?(branch_commit.id, root_ref_commit.id)
else
nil
end
end
 
def same_head?(first_commit_id, second_commit_id)
first_commit_id == second_commit_id
end
def merge_base(first_commit_id, second_commit_id)
first_commit_id = commit(first_commit_id).try(:id) || first_commit_id
second_commit_id = commit(second_commit_id).try(:id) || second_commit_id
Loading
Loading
Loading
Loading
@@ -102,15 +102,16 @@ describe Projects::CommitController do
describe "as patch" do
include_examples "export as", :patch
let(:format) { :patch }
let(:commit2) { project.commit('498214de67004b1da3d820901307bed2a68a8ef6') }
 
it "is a git email patch" do
go(id: commit.id, format: format)
go(id: commit2.id, format: format)
 
expect(response.body).to start_with("From #{commit.id}")
expect(response.body).to start_with("From #{commit2.id}")
end
 
it "contains a git diff" do
go(id: commit.id, format: format)
go(id: commit2.id, format: format)
 
expect(response.body).to match(/^diff --git/)
end
Loading
Loading
@@ -135,6 +136,8 @@ describe Projects::CommitController do
 
describe "GET branches" do
it "contains branch and tags information" do
commit = project.commit('5937ac0a7beb003549fc5fd26fc247adbce4a52e')
get(:branches,
namespace_id: project.namespace.to_param,
project_id: project.to_param,
Loading
Loading
@@ -254,16 +257,17 @@ describe Projects::CommitController do
end
 
let(:existing_path) { '.gitmodules' }
let(:commit2) { project.commit('5937ac0a7beb003549fc5fd26fc247adbce4a52e') }
 
context 'when the commit exists' do
context 'when the user has access to the project' do
context 'when the path exists in the diff' do
it 'enables diff notes' do
diff_for_path(id: commit.id, old_path: existing_path, new_path: existing_path)
diff_for_path(id: commit2.id, old_path: existing_path, new_path: existing_path)
 
expect(assigns(:diff_notes_disabled)).to be_falsey
expect(assigns(:comments_target)).to eq(noteable_type: 'Commit',
commit_id: commit.id)
commit_id: commit2.id)
end
 
it 'only renders the diffs for the path given' do
Loading
Loading
@@ -272,7 +276,7 @@ describe Projects::CommitController do
meth.call(diffs)
end
 
diff_for_path(id: commit.id, old_path: existing_path, new_path: existing_path)
diff_for_path(id: commit2.id, old_path: existing_path, new_path: existing_path)
end
end
 
Loading
Loading
Loading
Loading
@@ -19,7 +19,7 @@ describe SearchHelper do
expect(subject.filename).to eq('CHANGELOG')
expect(subject.basename).to eq('CHANGELOG')
expect(subject.ref).to eq('master')
expect(subject.startline).to eq(186)
expect(subject.startline).to eq(188)
expect(subject.data.lines[2]).to eq(" - Feature: Replace teams with group membership\n")
end
 
Loading
Loading
Loading
Loading
@@ -8,13 +8,13 @@ describe Gitlab::DataBuilder::Push, lib: true do
let(:data) { described_class.build_sample(project, user) }
 
it { expect(data).to be_a(Hash) }
it { expect(data[:before]).to eq('6f6d7e7ed97bb5f0054f2b1df789b39ca89b6ff9') }
it { expect(data[:after]).to eq('5937ac0a7beb003549fc5fd26fc247adbce4a52e') }
it { expect(data[:before]).to eq('1b12f15a11fc6e62177bef08f47bc7b5ce50b141') }
it { expect(data[:after]).to eq('b83d6e391c22777fca1ed3012fce84f633d7fed0') }
it { expect(data[:ref]).to eq('refs/heads/master') }
it { expect(data[:commits].size).to eq(3) }
it { expect(data[:total_commits_count]).to eq(3) }
it { expect(data[:commits].first[:added]).to eq(['gitlab-grack']) }
it { expect(data[:commits].first[:modified]).to eq(['.gitmodules']) }
it { expect(data[:commits].first[:added]).to eq(['bar/branch-test.txt']) }
it { expect(data[:commits].first[:modified]).to eq([]) }
it { expect(data[:commits].first[:removed]).to eq([]) }
 
include_examples 'project hook data with deprecateds'
Loading
Loading
Loading
Loading
@@ -628,7 +628,7 @@ describe Notify do
it_behaves_like 'a user cannot unsubscribe through footer link'
 
it 'has the correct subject' do
is_expected.to have_subject /#{commit.title} \(#{commit.short_id}\)/
is_expected.to have_subject /Re: #{project.name} | #{commit.title} \(#{commit.short_id}\)/
end
 
it 'contains a link to the commit' do
Loading
Loading
Loading
Loading
@@ -164,10 +164,10 @@ eos
let(:data) { commit.hook_attrs(with_changed_files: true) }
 
it { expect(data).to be_a(Hash) }
it { expect(data[:message]).to include('Add submodule from gitlab.com') }
it { expect(data[:timestamp]).to eq('2014-02-27T11:01:38+02:00') }
it { expect(data[:added]).to eq(["gitlab-grack"]) }
it { expect(data[:modified]).to eq([".gitmodules"]) }
it { expect(data[:message]).to include('adds bar folder and branch-test text file to check Repository merged_to_root_ref method') }
it { expect(data[:timestamp]).to eq('2016-09-27T14:37:46+00:00') }
it { expect(data[:added]).to eq(["bar/branch-test.txt"]) }
it { expect(data[:modified]).to eq([]) }
it { expect(data[:removed]).to eq([]) }
end
 
Loading
Loading
Loading
Loading
@@ -6,9 +6,9 @@ describe MergeRequestDiff, models: true do
 
it { expect(subject).to be_valid }
it { expect(subject).to be_persisted }
it { expect(subject.commits.count).to eq(5) }
it { expect(subject.diffs.count).to eq(8) }
it { expect(subject.head_commit_sha).to eq('5937ac0a7beb003549fc5fd26fc247adbce4a52e') }
it { expect(subject.commits.count).to eq(29) }
it { expect(subject.diffs.count).to eq(20) }
it { expect(subject.head_commit_sha).to eq('b83d6e391c22777fca1ed3012fce84f633d7fed0') }
it { expect(subject.base_commit_sha).to eq('ae73cb07c9eeaf35924a10f713b364d32b2dd34f') }
it { expect(subject.start_commit_sha).to eq('0b4bc9a49b562e85de7cc9e834518ea6828729b9') }
end
Loading
Loading
Loading
Loading
@@ -489,7 +489,7 @@ describe MergeRequest, models: true do
subject(:merge_request_with_divergence) { create(:merge_request, :diverged, source_project: project, target_project: project) }
 
it 'counts commits that are on target branch but not on source branch' do
expect(subject.diverged_commits_count).to eq(5)
expect(subject.diverged_commits_count).to eq(29)
end
end
 
Loading
Loading
@@ -497,7 +497,7 @@ describe MergeRequest, models: true do
subject(:merge_request_fork_with_divergence) { create(:merge_request, :diverged, source_project: fork_project, target_project: project) }
 
it 'counts commits that are on target branch but not on source branch' do
expect(subject.diverged_commits_count).to eq(5)
expect(subject.diverged_commits_count).to eq(29)
end
end
 
Loading
Loading
Loading
Loading
@@ -114,17 +114,30 @@ describe Repository, models: true do
end
 
describe '#merged_to_root_ref?' do
context 'merged branch' do
context 'merged branch without ff' do
subject { repository.merged_to_root_ref?('branch-merged') }
 
it { is_expected.to be_truthy }
end
 
# If the HEAD was ff then it will be false
context 'merged with ff' do
subject { repository.merged_to_root_ref?('improve/awesome') }
it { is_expected.to be_truthy }
end
context 'not merged branch' do
subject { repository.merged_to_root_ref?('not-merged-branch') }
 
it { is_expected.to be_falsey }
end
context 'default branch' do
subject { repository.merged_to_root_ref?('master') }
it { is_expected.to be_falsey }
end
end
 
describe '#can_be_merged?' do
Loading
Loading
Loading
Loading
@@ -53,7 +53,12 @@ describe API::API, api: true do
 
get api("/projects/#{project.id}/repository/commits?until=#{before.utc.iso8601}", user)
 
expect(json_response.size).to eq(commits.size - 1)
if commits.size >= 20
expect(json_response.size).to eq(20)
else
expect(json_response.size).to eq(commits.size - 1)
end
expect(json_response.first["id"]).to eq(commits.second.id)
expect(json_response.second["id"]).to eq(commits.third.id)
end
Loading
Loading
@@ -447,11 +452,12 @@ describe API::API, api: true do
end
 
it 'returns the inline comment' do
post api("/projects/#{project.id}/repository/commits/#{project.repository.commit.id}/comments", user), note: 'My comment', path: project.repository.commit.raw_diffs.first.new_path, line: 7, line_type: 'new'
post api("/projects/#{project.id}/repository/commits/#{project.repository.commit.id}/comments", user), note: 'My comment', path: project.repository.commit.raw_diffs.first.new_path, line: 1, line_type: 'new'
expect(response).to have_http_status(201)
expect(json_response['note']).to eq('My comment')
expect(json_response['path']).to eq(project.repository.commit.raw_diffs.first.new_path)
expect(json_response['line']).to eq(7)
expect(json_response['line']).to eq(1)
expect(json_response['line_type']).to eq('new')
end
 
Loading
Loading
Loading
Loading
@@ -21,7 +21,7 @@ describe API::API, api: true do
expect(response).to have_http_status(200)
 
expect(json_response).to be_an Array
expect(json_response.first['name']).to eq('encoding')
expect(json_response.first['name']).to eq('bar')
expect(json_response.first['type']).to eq('tree')
expect(json_response.first['mode']).to eq('040000')
end
Loading
Loading
@@ -166,9 +166,9 @@ describe API::API, api: true do
expect(response).to have_http_status(200)
expect(json_response).to be_an Array
contributor = json_response.first
expect(contributor['email']).to eq('dmitriy.zaporozhets@gmail.com')
expect(contributor['name']).to eq('Dmitriy Zaporozhets')
expect(contributor['commits']).to eq(13)
expect(contributor['email']).to eq('tiagonbotelho@hotmail.com')
expect(contributor['name']).to eq('tiagonbotelho')
expect(contributor['commits']).to eq(1)
expect(contributor['additions']).to eq(0)
expect(contributor['deletions']).to eq(0)
end
Loading
Loading
Loading
Loading
@@ -440,8 +440,8 @@ describe 'Git HTTP requests', lib: true do
before do
# Provide a dummy file in its place
allow_any_instance_of(Repository).to receive(:blob_at).and_call_original
allow_any_instance_of(Repository).to receive(:blob_at).with('5937ac0a7beb003549fc5fd26fc247adbce4a52e', 'info/refs') do
Gitlab::Git::Blob.find(project.repository, 'master', '.gitignore')
allow_any_instance_of(Repository).to receive(:blob_at).with('b83d6e391c22777fca1ed3012fce84f633d7fed0', 'info/refs') do
Gitlab::Git::Blob.find(project.repository, 'master', 'bar/branch-test.txt')
end
 
get "/#{project.path_with_namespace}/blob/master/info/refs"
Loading
Loading
Loading
Loading
@@ -118,7 +118,7 @@ describe MergeRequests::RefreshService, services: true do
 
it { expect(@merge_request.notes).to be_empty }
it { expect(@merge_request).to be_open }
it { expect(@fork_merge_request.notes.last.note).to include('Added 4 commits') }
it { expect(@fork_merge_request.notes.last.note).to include('Added 28 commits') }
it { expect(@fork_merge_request).to be_open }
it { expect(@build_failed_todo).to be_pending }
it { expect(@fork_build_failed_todo).to be_pending }
Loading
Loading
@@ -169,7 +169,7 @@ describe MergeRequests::RefreshService, services: true do
 
notes = @fork_merge_request.notes.reorder(:created_at).map(&:note)
expect(notes[0]).to include('Restored source branch `master`')
expect(notes[1]).to include('Added 4 commits')
expect(notes[1]).to include('Added 28 commits')
expect(@fork_merge_request).to be_open
end
end
Loading
Loading
Loading
Loading
@@ -54,7 +54,7 @@ describe SystemNoteService, services: true do
it 'adds a message line for each commit' do
new_commits.each_with_index do |commit, i|
# Skip the header
expect(note_lines[i + 1]).to eq "* #{commit.short_id} - #{commit.title}"
expect(HTMLEntities.new.decode(note_lines[i + 1])).to eq "* #{commit.short_id} - #{commit.title}"
end
end
end
Loading
Loading
@@ -81,7 +81,7 @@ describe SystemNoteService, services: true do
end
 
it 'includes a commit count' do
expect(summary_line).to end_with " - 2 commits from branch `feature`"
expect(summary_line).to end_with " - 26 commits from branch `feature`"
end
end
 
Loading
Loading
@@ -91,7 +91,7 @@ describe SystemNoteService, services: true do
end
 
it 'includes a commit count' do
expect(summary_line).to end_with " - 2 commits from branch `feature`"
expect(summary_line).to end_with " - 26 commits from branch `feature`"
end
end
 
Loading
Loading
@@ -537,7 +537,7 @@ describe SystemNoteService, services: true do
let(:mergereq) { create(:merge_request, :simple, target_project: project, source_project: project) }
let(:jira_issue) { ExternalIssue.new("JIRA-1", project)}
let(:jira_tracker) { project.jira_service }
let(:commit) { project.commit }
let(:commit) { project.repository.commits('master').find { |commit| commit.id == '5937ac0a7beb003549fc5fd26fc247adbce4a52e' } }
 
context 'in JIRA issue tracker' do
before do
Loading
Loading
Loading
Loading
@@ -57,7 +57,7 @@ describe EmailsOnPushWorker do
end
 
it "sends a mail with the correct subject" do
expect(email.subject).to include('Change some files')
expect(email.subject).to include('adds bar folder and branch-test text file')
end
 
it "mentions force pushing in the body" do
Loading
Loading
@@ -73,7 +73,7 @@ describe EmailsOnPushWorker do
before { perform }
 
it "sends a mail with the correct subject" do
expect(email.subject).to include('Change some files')
expect(email.subject).to include('adds bar folder and branch-test text file')
end
 
it "does not mention force pushing in the body" do
Loading
Loading
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment