summaryrefslogtreecommitdiff
path: root/spec/presenters
diff options
context:
space:
mode:
authorOswaldo Ferreira <oswaldo@gitlab.com>2018-02-20 11:56:36 -0300
committerOswaldo Ferreira <oswaldo@gitlab.com>2018-02-20 13:03:06 -0300
commite0e3f1c2750b6db9343d530d00b096bcb1a57677 (patch)
tree1ee744d81f999a06250c11c41c363cf29b5ce52e /spec/presenters
parentccc858a5dfdb446d9648db2449d3ee3ef7a2be59 (diff)
downloadgitlab-ce-e0e3f1c2750b6db9343d530d00b096bcb1a57677.tar.gz
Move button list logic to project presenter
Diffstat (limited to 'spec/presenters')
-rw-r--r--spec/presenters/project_presenter_spec.rb31
1 files changed, 31 insertions, 0 deletions
diff --git a/spec/presenters/project_presenter_spec.rb b/spec/presenters/project_presenter_spec.rb
new file mode 100644
index 00000000000..49822693f3e
--- /dev/null
+++ b/spec/presenters/project_presenter_spec.rb
@@ -0,0 +1,31 @@
+require 'spec_helper'
+
+describe ProjectPresenter do
+ let(:user) { create(:user) }
+ let(:project) { create(:project) }
+ let(:presenter) { described_class.new(project, current_user: user) }
+
+ describe '#license_short_name' do
+ context 'when project.repository has a license_key' do
+ it 'returns the nickname of the license if present' do
+ allow(project.repository).to receive(:license_key).and_return('agpl-3.0')
+
+ expect(presenter.license_short_name).to eq('GNU AGPLv3')
+ end
+
+ it 'returns the name of the license if nickname is not present' do
+ allow(project.repository).to receive(:license_key).and_return('mit')
+
+ expect(presenter.license_short_name).to eq('MIT License')
+ end
+ end
+
+ context 'when project.repository has no license_key but a license_blob' do
+ it 'returns LICENSE' do
+ allow(project.repository).to receive(:license_key).and_return(nil)
+
+ expect(presenter.license_short_name).to eq('LICENSE')
+ end
+ end
+ end
+end