Commit e5021790c4c284deccd32dd2e21bc44a4606536a

Authored by Braulio Bhavamitra
1 parent af30de84

metadata: fix application_controller test

plugins/metadata/lib/ext/environment.rb
@@ -3,11 +3,19 @@ require_dependency 'environment' @@ -3,11 +3,19 @@ require_dependency 'environment'
3 class Environment 3 class Environment
4 4
5 metadata_spec namespace: :og, tags: { 5 metadata_spec namespace: :og, tags: {
  6 + type: 'website',
  7 + title: proc{ |e, plugin| e.name },
6 site_name: proc{ |e, plugin| e.name }, 8 site_name: proc{ |e, plugin| e.name },
7 description: proc{ |e, plugin| e.name }, 9 description: proc{ |e, plugin| e.name },
8 url: proc{ |e, plugin| e.top_url }, 10 url: proc{ |e, plugin| e.top_url },
9 'locale:locale' => proc{ |e, plugin| e.default_language }, 11 'locale:locale' => proc{ |e, plugin| e.default_language },
10 - 'locale:alternate' => proc{ |e, plugin| e.languages - [e.default_language] }, 12 + 'locale:alternate' => proc{ |e, plugin| if e.default_language then e.languages - [e.default_language] else e.languages end },
  13 + }
  14 +
  15 + metadata_spec namespace: :twitter, key_attr: :name, tags: {
  16 + card: 'summary',
  17 + title: proc{ |e, plugin| e.name },
  18 + description: proc{ |e, plugin| e.name },
11 } 19 }
12 20
13 end 21 end
plugins/metadata/lib/ext/profile.rb
@@ -24,4 +24,10 @@ class Profile @@ -24,4 +24,10 @@ class Profile
24 longitude: proc{ |p, plugin| p.lng }, 24 longitude: proc{ |p, plugin| p.lng },
25 } 25 }
26 26
  27 + metadata_spec namespace: :twitter, key_attr: :name, tags: {
  28 + card: 'summary',
  29 + title: proc{ |p, plugin| p.name },
  30 + description: proc{ |p, plugin| p.description },
  31 + }
  32 +
27 end 33 end
plugins/metadata/test/functional/home_controller_test.rb 0 → 100644
@@ -0,0 +1,33 @@ @@ -0,0 +1,33 @@
  1 +require 'test_helper'
  2 +require 'home_controller'
  3 +
  4 +# Re-raise errors caught by the controller.
  5 +class HomeController; def rescue_action(e) raise e end; end
  6 +
  7 +class HomeControllerTest < ActionController::TestCase
  8 +
  9 + def setup
  10 + @controller = HomeController.new
  11 + @request = ActionController::TestRequest.new
  12 + @response = ActionController::TestResponse.new
  13 +
  14 + Noosfero::Plugin.stubs(:all).returns([MetadataPlugin.name])
  15 + Noosfero::Plugin::Manager.any_instance.stubs(:enabled_plugins).returns([MetadataPlugin.new])
  16 + end
  17 +
  18 + should 'display meta tags for social media' do
  19 + get :index
  20 + assert_tag :tag => 'meta', :attributes => { :name => 'twitter:card', :content => 'summary' }
  21 + assert_tag :tag => 'meta', :attributes => { :name => 'twitter:title', :content => assigns(:environment).name }
  22 + assert_tag :tag => 'meta', :attributes => { :name => 'twitter:description', :content => assigns(:environment).name }
  23 + assert_no_tag :tag => 'meta', :attributes => { :name => 'twitter:image' }
  24 + assert_tag :tag => 'meta', :attributes => { :property => 'og:type', :content => 'website' }
  25 + assert_tag :tag => 'meta', :attributes => { :property => 'og:url', :content => assigns(:environment).top_url }
  26 + assert_tag :tag => 'meta', :attributes => { :property => 'og:title', :content => assigns(:environment).name }
  27 + assert_tag :tag => 'meta', :attributes => { :property => 'og:site_name', :content => assigns(:environment).name }
  28 + assert_tag :tag => 'meta', :attributes => { :property => 'og:description', :content => assigns(:environment).name }
  29 + assert_no_tag :tag => 'meta', :attributes => { :property => 'article:published_time' }
  30 + assert_no_tag :tag => 'meta', :attributes => { :property => 'og:image' }
  31 + end
  32 +
  33 +end
test/functional/application_controller_test.rb
@@ -498,21 +498,6 @@ class ApplicationControllerTest &lt; ActionController::TestCase @@ -498,21 +498,6 @@ class ApplicationControllerTest &lt; ActionController::TestCase
498 498
499 end 499 end
500 500
501 - should 'display meta tags for social media' do  
502 - get :index  
503 - assert_tag :tag => 'meta', :attributes => { :name => 'twitter:card', :value => 'summary' }  
504 - assert_tag :tag => 'meta', :attributes => { :name => 'twitter:title', :content => assigns(:environment).name }  
505 - assert_tag :tag => 'meta', :attributes => { :name => 'twitter:description', :content => assigns(:environment).name }  
506 - assert_no_tag :tag => 'meta', :attributes => { :name => 'twitter:image' }  
507 - assert_tag :tag => 'meta', :attributes => { :property => 'og:type', :content => 'website' }  
508 - assert_tag :tag => 'meta', :attributes => { :property => 'og:url', :content => assigns(:environment).top_url }  
509 - assert_tag :tag => 'meta', :attributes => { :property => 'og:title', :content => assigns(:environment).name }  
510 - assert_tag :tag => 'meta', :attributes => { :property => 'og:site_name', :content => assigns(:environment).name }  
511 - assert_tag :tag => 'meta', :attributes => { :property => 'og:description', :content => assigns(:environment).name }  
512 - assert_no_tag :tag => 'meta', :attributes => { :property => 'article:published_time' }  
513 - assert_no_tag :tag => 'meta', :attributes => { :property => 'og:image' }  
514 - end  
515 -  
516 should 'register search_term occurrence on find_by_contents' do 501 should 'register search_term occurrence on find_by_contents' do
517 controller = ApplicationController.new 502 controller = ApplicationController.new
518 controller.stubs(:environment).returns(Environment.default) 503 controller.stubs(:environment).returns(Environment.default)