diff options
author | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2016-08-11 13:56:20 +0200 |
---|---|---|
committer | Grzegorz Bizon <grzesiek.bizon@gmail.com> | 2016-08-15 14:39:46 +0200 |
commit | cdb0caaf320a67f193a7ab9faac9271a625d8b98 (patch) | |
tree | 14c382a9ff83799fdbd4dfe10d449ecb3793b660 /spec/lib/gitlab/badge | |
parent | f0ff1bfdcc43decd1888f7b8d4a9e8c4dd5540d9 (diff) | |
download | gitlab-ce-cdb0caaf320a67f193a7ab9faac9271a625d8b98.tar.gz |
Extract common badge metadata test examples
Diffstat (limited to 'spec/lib/gitlab/badge')
-rw-r--r-- | spec/lib/gitlab/badge/build/metadata_spec.rb | 21 | ||||
-rw-r--r-- | spec/lib/gitlab/badge/shared/metadata.rb | 21 |
2 files changed, 23 insertions, 19 deletions
diff --git a/spec/lib/gitlab/badge/build/metadata_spec.rb b/spec/lib/gitlab/badge/build/metadata_spec.rb index 4044a82d16c..d9354458707 100644 --- a/spec/lib/gitlab/badge/build/metadata_spec.rb +++ b/spec/lib/gitlab/badge/build/metadata_spec.rb @@ -1,28 +1,11 @@ require 'spec_helper' +require 'lib/gitlab/badge/shared/metadata' describe Gitlab::Badge::Build::Metadata do let(:badge) { double(project: create(:project), ref: 'feature') } let(:metadata) { described_class.new(badge) } - describe '#to_html' do - let(:html) { Nokogiri::HTML.parse(metadata.to_html) } - let(:a_href) { html.at('a') } - - it 'points to link' do - expect(a_href[:href]).to eq metadata.link_url - end - - it 'contains clickable image' do - expect(a_href.children.first.name).to eq 'img' - end - end - - describe '#to_markdown' do - subject { metadata.to_markdown } - - it { is_expected.to include metadata.image_url } - it { is_expected.to include metadata.link_url } - end + it_behaves_like 'badge metadata' describe '#image_url' do it 'returns valid url' do diff --git a/spec/lib/gitlab/badge/shared/metadata.rb b/spec/lib/gitlab/badge/shared/metadata.rb new file mode 100644 index 00000000000..0cf18514251 --- /dev/null +++ b/spec/lib/gitlab/badge/shared/metadata.rb @@ -0,0 +1,21 @@ +shared_examples 'badge metadata' do + describe '#to_html' do + let(:html) { Nokogiri::HTML.parse(metadata.to_html) } + let(:a_href) { html.at('a') } + + it 'points to link' do + expect(a_href[:href]).to eq metadata.link_url + end + + it 'contains clickable image' do + expect(a_href.children.first.name).to eq 'img' + end + end + + describe '#to_markdown' do + subject { metadata.to_markdown } + + it { is_expected.to include metadata.image_url } + it { is_expected.to include metadata.link_url } + end +end |