From fcb37542e746d69f20094e2918e498564bbcd863 Mon Sep 17 00:00:00 2001 From: Robert Speicher Date: Thu, 26 Jan 2017 17:44:58 -0500 Subject: Use `:empty_project` where possible in model specs --- spec/models/issue_spec.rb | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) (limited to 'spec/models/issue_spec.rb') diff --git a/spec/models/issue_spec.rb b/spec/models/issue_spec.rb index 61d72925736..40c0a75c364 100644 --- a/spec/models/issue_spec.rb +++ b/spec/models/issue_spec.rb @@ -35,7 +35,7 @@ describe Issue, models: true do end it 'supports a cross-project reference' do - another_project = build(:project, name: 'another-project', namespace: project.namespace) + another_project = build(:empty_project, name: 'another-project', namespace: project.namespace) expect(issue.to_reference(another_project)).to eq "sample-project#1" end end @@ -60,9 +60,9 @@ describe Issue, models: true do end describe '#closed_by_merge_requests' do - let(:project) { create(:project) } - let(:issue) { create(:issue, project: project, state: "opened")} - let(:closed_issue) { build(:issue, project: project, state: "closed")} + let(:project) { create(:project, :repository) } + let(:issue) { create(:issue, project: project)} + let(:closed_issue) { build(:issue, :closed, project: project)} let(:mr) do opts = { @@ -104,7 +104,7 @@ describe Issue, models: true do describe '#referenced_merge_requests' do it 'returns the referenced merge requests' do - project = create(:project, :public) + project = create(:empty_project, :public) mr1 = create(:merge_request, source_project: project, @@ -137,7 +137,7 @@ describe Issue, models: true do end context 'user is reporter in project issue belongs to' do - let(:project) { create(:project) } + let(:project) { create(:empty_project) } let(:issue) { create(:issue, project: project) } before { project.team << [user, :reporter] } @@ -151,7 +151,7 @@ describe Issue, models: true do context 'checking destination project also' do subject { issue.can_move?(user, to_project) } - let(:to_project) { create(:project) } + let(:to_project) { create(:empty_project) } context 'destination project allowed' do before { to_project.team << [user, :reporter] } @@ -246,7 +246,7 @@ describe Issue, models: true do describe '#participants' do context 'using a public project' do - let(:project) { create(:project, :public) } + let(:project) { create(:empty_project, :public) } let(:issue) { create(:issue, project: project) } let!(:note1) do @@ -268,7 +268,7 @@ describe Issue, models: true do context 'using a private project' do it 'does not include mentioned users that do not have access to the project' do - project = create(:project) + project = create(:empty_project) user = create(:user) issue = create(:issue, project: project) -- cgit v1.2.1 From 78c8bce1ff0017a1f1b8129bb5c6cb31992cf5d9 Mon Sep 17 00:00:00 2001 From: Berna Castro Date: Thu, 15 Dec 2016 13:50:28 +0100 Subject: Fix and add specs for Issue#to_reference --- spec/models/issue_spec.rb | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) (limited to 'spec/models/issue_spec.rb') diff --git a/spec/models/issue_spec.rb b/spec/models/issue_spec.rb index 40c0a75c364..5c37141e3ad 100644 --- a/spec/models/issue_spec.rb +++ b/spec/models/issue_spec.rb @@ -27,7 +27,11 @@ describe Issue, models: true do let(:issue) { build(:issue, iid: 1, project: project) } it 'returns a String reference to the object' do - expect(issue.to_reference).to eq "#1" + expect(issue.to_reference).to eq "#{project.namespace.name}/sample-project#1" + end + + it 'supports a project reference' do + expect(issue.to_reference(project)).to eq "#1" end it 'returns a String reference with the full path' do @@ -38,6 +42,11 @@ describe Issue, models: true do another_project = build(:empty_project, name: 'another-project', namespace: project.namespace) expect(issue.to_reference(another_project)).to eq "sample-project#1" end + + it 'supports a group reference' do + group = build(:group, name: 'sample-group') + expect(issue.to_reference(nil, group)).to eq("sample-project#1") + end end describe '#is_being_reassigned?' do -- cgit v1.2.1 From ac66268443b05029cbc45cc358f62b764f1ff165 Mon Sep 17 00:00:00 2001 From: Berna Castro Date: Thu, 15 Dec 2016 15:51:50 +0100 Subject: Refactor Project#to_reference and make full_path a keyword argument Refactor overall code and fix failing specs Fix Project#to_reference Fix wrong spaces and update changelog Refactor #to_reference for Project & Issue Fix and improves Project#to_reference --- spec/models/issue_spec.rb | 66 +++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 55 insertions(+), 11 deletions(-) (limited to 'spec/models/issue_spec.rb') diff --git a/spec/models/issue_spec.rb b/spec/models/issue_spec.rb index 5c37141e3ad..623238e9d86 100644 --- a/spec/models/issue_spec.rb +++ b/spec/models/issue_spec.rb @@ -23,19 +23,37 @@ describe Issue, models: true do end describe '#to_reference' do - let(:project) { build(:empty_project, name: 'sample-project') } - let(:issue) { build(:issue, iid: 1, project: project) } + let(:namespace) { build(:namespace, path: 'sample-namespace') } + let(:project) { build(:empty_project, name: 'sample-project', namespace: namespace) } + let(:issue) { build(:issue, iid: 1, project: project) } + let(:group) { create(:group, name: 'Group', path: 'sample-group') } + + context 'when nil argument' do + it 'returns issue id' do + expect(issue.to_reference).to eq "#1" + end + end - it 'returns a String reference to the object' do - expect(issue.to_reference).to eq "#{project.namespace.name}/sample-project#1" + context 'when full_path is true' do + it 'returns complete path to the issue' do + expect(issue.to_reference(full_path: true)).to eq 'sample-namespace/sample-project#1' + expect(issue.to_reference(project, full_path: true)).to eq 'sample-namespace/sample-project#1' + expect(issue.to_reference(group, full_path: true)).to eq 'sample-namespace/sample-project#1' + end end - it 'supports a project reference' do - expect(issue.to_reference(project)).to eq "#1" + context 'when same project argument' do + it 'returns issue id' do + expect(issue.to_reference(project)).to eq("#1") + end end - it 'returns a String reference with the full path' do - expect(issue.to_reference(full: true)).to eq(project.path_with_namespace + '#1') + context 'when cross namespace project argument' do + let(:another_namespace_project) { create(:empty_project, name: 'another-project') } + + it 'returns complete path to the issue' do + expect(issue.to_reference(another_namespace_project)).to eq 'sample-namespace/sample-project#1' + end end it 'supports a cross-project reference' do @@ -43,9 +61,35 @@ describe Issue, models: true do expect(issue.to_reference(another_project)).to eq "sample-project#1" end - it 'supports a group reference' do - group = build(:group, name: 'sample-group') - expect(issue.to_reference(nil, group)).to eq("sample-project#1") + context 'when same namespace / cross-project argument' do + let(:another_project) { create(:empty_project, namespace: namespace) } + + it 'returns path to the issue with the project name' do + expect(issue.to_reference(another_project)).to eq 'sample-project#1' + end + end + + context 'when different namespace / cross-project argument' do + let(:another_namespace) { create(:namespace, path: 'another-namespace') } + let(:another_project) { create(:empty_project, path: 'another-project', namespace: another_namespace) } + + it 'returns full path to the issue' do + expect(issue.to_reference(another_project)).to eq 'sample-namespace/sample-project#1' + end + end + + context 'when argument is a namespace' do + context 'with same project path' do + it 'returns path to the issue with the project name' do + expect(issue.to_reference(namespace)).to eq 'sample-project#1' + end + end + + context 'with different project path' do + it 'returns full path to the issue' do + expect(issue.to_reference(group)).to eq 'sample-namespace/sample-project#1' + end + end end end -- cgit v1.2.1 From aeb9db6753cfdd56f82d80c0e2c01f63d65b705d Mon Sep 17 00:00:00 2001 From: Oswaldo Ferreira Date: Tue, 10 Jan 2017 21:52:25 -0200 Subject: Present group and dashboard MR list without grouping by project --- spec/models/issue_spec.rb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'spec/models/issue_spec.rb') diff --git a/spec/models/issue_spec.rb b/spec/models/issue_spec.rb index 623238e9d86..bba9058f394 100644 --- a/spec/models/issue_spec.rb +++ b/spec/models/issue_spec.rb @@ -34,11 +34,11 @@ describe Issue, models: true do end end - context 'when full_path is true' do + context 'when full is true' do it 'returns complete path to the issue' do - expect(issue.to_reference(full_path: true)).to eq 'sample-namespace/sample-project#1' - expect(issue.to_reference(project, full_path: true)).to eq 'sample-namespace/sample-project#1' - expect(issue.to_reference(group, full_path: true)).to eq 'sample-namespace/sample-project#1' + expect(issue.to_reference(full: true)).to eq 'sample-namespace/sample-project#1' + expect(issue.to_reference(project, full: true)).to eq 'sample-namespace/sample-project#1' + expect(issue.to_reference(group, full: true)).to eq 'sample-namespace/sample-project#1' end end -- cgit v1.2.1