summaryrefslogtreecommitdiff
path: root/spec/models
diff options
context:
space:
mode:
authorImre Farkas <ifarkas@gitlab.com>2018-05-22 10:53:37 +0000
committerRémy Coutable <remy@rymai.me>2018-05-22 10:53:37 +0000
commit10237d458d0266787aa15852b525469d0dcb5362 (patch)
tree78b3c883dd5c16c53f668c73c7730bde083544c7 /spec/models
parent4d674bd38c8a3568f6e1295c25c902ef10151aef (diff)
downloadgitlab-ce-10237d458d0266787aa15852b525469d0dcb5362.tar.gz
Expose readme url in Project API
Diffstat (limited to 'spec/models')
-rw-r--r--spec/models/project_spec.rb28
1 files changed, 28 insertions, 0 deletions
diff --git a/spec/models/project_spec.rb b/spec/models/project_spec.rb
index 39625b559eb..af2240f4f89 100644
--- a/spec/models/project_spec.rb
+++ b/spec/models/project_spec.rb
@@ -469,6 +469,34 @@ describe Project do
end
end
+ describe "#readme_url" do
+ let(:project) { create(:project, :repository, path: "somewhere") }
+
+ context 'with a non-existing repository' do
+ it 'returns nil' do
+ allow(project.repository).to receive(:tree).with(:head).and_return(nil)
+
+ expect(project.readme_url).to be_nil
+ end
+ end
+
+ context 'with an existing repository' do
+ context 'when no README exists' do
+ it 'returns nil' do
+ allow_any_instance_of(Tree).to receive(:readme).and_return(nil)
+
+ expect(project.readme_url).to be_nil
+ end
+ end
+
+ context 'when a README exists' do
+ it 'returns the README' do
+ expect(project.readme_url).to eql("#{Gitlab.config.gitlab.url}/#{project.namespace.full_path}/somewhere/blob/master/README.md")
+ end
+ end
+ end
+ end
+
describe "#new_issuable_address" do
let(:project) { create(:project, path: "somewhere") }
let(:user) { create(:user) }