diff options
author | Shinya Maeda <shinya@gitlab.com> | 2019-01-02 15:01:15 +0900 |
---|---|---|
committer | Shinya Maeda <shinya@gitlab.com> | 2019-01-04 22:17:02 +0900 |
commit | f5f52da885f331b9860c2cc1fe1847fd10ca9385 (patch) | |
tree | 6ad5e46438ca6f05e98e3caa0318f332eb7437d9 /spec/models/release_spec.rb | |
parent | 8a75453ea0553b712963161e79177513e17ca376 (diff) | |
download | gitlab-ce-f5f52da885f331b9860c2cc1fe1847fd10ca9385.tar.gz |
Add spec for Releases::Source and Link models
Releases::Source and Releases::Link are covered by tests
Diffstat (limited to 'spec/models/release_spec.rb')
-rw-r--r-- | spec/models/release_spec.rb | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/spec/models/release_spec.rb b/spec/models/release_spec.rb index 92ba2d82f58..157c96c1f65 100644 --- a/spec/models/release_spec.rb +++ b/spec/models/release_spec.rb @@ -10,10 +10,35 @@ RSpec.describe Release do describe 'associations' do it { is_expected.to belong_to(:project) } it { is_expected.to belong_to(:author).class_name('User') } + it { is_expected.to have_many(:links).class_name('Releases::Link') } end describe 'validation' do it { is_expected.to validate_presence_of(:project) } it { is_expected.to validate_presence_of(:description) } end + + describe '#assets_count' do + subject { release.assets_count } + + it 'returns the number of sources' do + is_expected.to eq(Releases::Source::FORMATS.count) + end + + context 'when a links exists' do + let!(:link) { create(:release_link, release: release) } + + it 'counts the link as an asset' do + is_expected.to eq(1 + Releases::Source::FORMATS.count) + end + end + end + + describe '#sources' do + subject { release.sources } + + it 'returns sources' do + is_expected.to all(be_a(Releases::Source)) + end + end end |