43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
			
		
		
	
	
			43 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
	
	
# frozen_string_literal: true
 | 
						|
 | 
						|
require 'rails_helper'
 | 
						|
 | 
						|
describe 'about/show.html.haml', without_verify_partial_doubles: true do
 | 
						|
  before do
 | 
						|
    allow(view).to receive(:site_hostname).and_return('example.com')
 | 
						|
    allow(view).to receive(:site_title).and_return('example site')
 | 
						|
    allow(view).to receive(:new_user).and_return(User.new)
 | 
						|
    allow(view).to receive(:use_seamless_external_login?).and_return(false)
 | 
						|
  end
 | 
						|
 | 
						|
  it 'has valid open graph tags' do
 | 
						|
    instance_presenter = double(
 | 
						|
      :instance_presenter,
 | 
						|
      site_title: 'something',
 | 
						|
      site_short_description: 'something',
 | 
						|
      site_description: 'something',
 | 
						|
      version_number: '1.0',
 | 
						|
      source_url: 'https://github.com/tootsuite/mastodon',
 | 
						|
      open_registrations: false,
 | 
						|
      thumbnail: nil,
 | 
						|
      hero: nil,
 | 
						|
      mascot: nil,
 | 
						|
      user_count: 420,
 | 
						|
      status_count: 69,
 | 
						|
      active_user_count: 420,
 | 
						|
      contact_account: nil,
 | 
						|
      sample_accounts: []
 | 
						|
    )
 | 
						|
 | 
						|
    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
 |