about summary refs log tree commit diff
path: root/spec/views
diff options
context:
space:
mode:
authorWesley Ellis <tahnok@gmail.com>2017-04-22 11:29:46 -0400
committerEugen <eugen@zeonfederated.com>2017-04-22 17:29:46 +0200
commita1174a6d7e60dd73ab97da08b52dd751c45e2b6b (patch)
tree82ab9dace044738a843fb404ed7d1db9dc9afe77 /spec/views
parent5357329454afd76c9c3bf5c292d605e3039d3508 (diff)
Add og:url tags (#2298)
* add og:url to stream_item view

* add og:url and text to about/show

* add og:url to profile, followers and follows pages
Diffstat (limited to 'spec/views')
-rw-r--r--spec/views/about/show.html.haml_spec.rb25
-rw-r--r--spec/views/accounts/show.html.haml_spec.rb19
-rw-r--r--spec/views/stream_entries/show.html.haml_spec.rb19
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