diff options
author | Oswaldo Ferreira <oswaldo@gitlab.com> | 2018-02-20 11:56:36 -0300 |
---|---|---|
committer | Oswaldo Ferreira <oswaldo@gitlab.com> | 2018-02-20 13:03:06 -0300 |
commit | e0e3f1c2750b6db9343d530d00b096bcb1a57677 (patch) | |
tree | 1ee744d81f999a06250c11c41c363cf29b5ce52e /spec/presenters/project_presenter_spec.rb | |
parent | ccc858a5dfdb446d9648db2449d3ee3ef7a2be59 (diff) | |
download | gitlab-ce-e0e3f1c2750b6db9343d530d00b096bcb1a57677.tar.gz |
Move button list logic to project presenter
Diffstat (limited to 'spec/presenters/project_presenter_spec.rb')
-rw-r--r-- | spec/presenters/project_presenter_spec.rb | 31 |
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 |