diff options
Diffstat (limited to 'spec')
-rw-r--r-- | spec/views/about/show.html.haml_spec.rb | 25 | ||||
-rw-r--r-- | spec/views/accounts/show.html.haml_spec.rb | 19 | ||||
-rw-r--r-- | spec/views/stream_entries/show.html.haml_spec.rb | 19 |
3 files changed, 63 insertions, 0 deletions
diff --git a/spec/views/about/show.html.haml_spec.rb b/spec/views/about/show.html.haml_spec.rb new file mode 100644 index 000000000..686d393fb --- /dev/null +++ b/spec/views/about/show.html.haml_spec.rb @@ -0,0 +1,25 @@ +require 'rails_helper' +$LOAD_PATH << '../lib' +require 'tag_manager' + +describe 'about/show.html.haml' do + before do + end + + it 'has valid open graph tags' do + instance_presenter = double(:instance_presenter, + site_description: 'something', + open_registrations: false, + closed_registrations_message: 'yes', + ) + assign(:instance_presenter, instance_presenter) + render + + header_tags = view.content_for(:header_tags) + + expect(header_tags).to match(%r{<meta content='.+' property='og:title'>}) + expect(header_tags).to match(%r{<meta content='website' property='og:type'>}) + expect(header_tags).to match(%r{<meta content='.+' property='og:image'>}) + expect(header_tags).to match(%r{<meta content='http://.+' property='og:url'>}) + end +end diff --git a/spec/views/accounts/show.html.haml_spec.rb b/spec/views/accounts/show.html.haml_spec.rb index 6ddb2c36d..e9f6493b1 100644 --- a/spec/views/accounts/show.html.haml_spec.rb +++ b/spec/views/accounts/show.html.haml_spec.rb @@ -20,4 +20,23 @@ describe 'accounts/show.html.haml' do expect(Nokogiri::HTML(rendered).search('.h-feed .h-entry').size).to eq 3 end + + it 'has valid opengraph tags' do + alice = Fabricate(:account, username: 'alice', display_name: 'Alice') + status = Fabricate(:status, account: alice, text: 'Hello World') + + assign(:account, alice) + assign(:statuses, alice.statuses) + assign(:stream_entry, status.stream_entry) + assign(:type, status.stream_entry.activity_type.downcase) + + render + + header_tags = view.content_for(:header_tags) + + expect(header_tags).to match(%r{<meta content='.+' property='og:title'>}) + expect(header_tags).to match(%r{<meta content='profile' property='og:type'>}) + expect(header_tags).to match(%r{<meta content='.+' property='og:image'>}) + expect(header_tags).to match(%r{<meta content='http://.+' property='og:url'>}) + end end diff --git a/spec/views/stream_entries/show.html.haml_spec.rb b/spec/views/stream_entries/show.html.haml_spec.rb index acc0c39f5..0dd150524 100644 --- a/spec/views/stream_entries/show.html.haml_spec.rb +++ b/spec/views/stream_entries/show.html.haml_spec.rb @@ -61,4 +61,23 @@ describe 'stream_entries/show.html.haml' do expect(mf2.entry.in_reply_to.format.author.format.name.to_s).to eq alice.display_name expect(mf2.entry.in_reply_to.format.author.format.url.to_s).not_to be_empty end + + it 'has valid opengraph tags' do + alice = Fabricate(:account, username: 'alice', display_name: 'Alice') + status = Fabricate(:status, account: alice, text: 'Hello World') + + assign(:status, status) + assign(:stream_entry, status.stream_entry) + assign(:account, alice) + assign(:type, status.stream_entry.activity_type.downcase) + + render + + header_tags = view.content_for(:header_tags) + + expect(header_tags).to match(%r{<meta content='.+' property='og:title'>}) + expect(header_tags).to match(%r{<meta content='article' property='og:type'>}) + expect(header_tags).to match(%r{<meta content='.+' property='og:image'>}) + expect(header_tags).to match(%r{<meta content='http://.+' property='og:url'>}) + end end |