diff options
author | Imre Farkas <ifarkas@gitlab.com> | 2018-05-22 10:53:37 +0000 |
---|---|---|
committer | Rémy Coutable <remy@rymai.me> | 2018-05-22 10:53:37 +0000 |
commit | 10237d458d0266787aa15852b525469d0dcb5362 (patch) | |
tree | 78b3c883dd5c16c53f668c73c7730bde083544c7 /spec/models | |
parent | 4d674bd38c8a3568f6e1295c25c902ef10151aef (diff) | |
download | gitlab-ce-10237d458d0266787aa15852b525469d0dcb5362.tar.gz |
Expose readme url in Project API
Diffstat (limited to 'spec/models')
-rw-r--r-- | spec/models/project_spec.rb | 28 |
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) } |