Commit 9e8fd78ec9bae8b211c4f6fdf6932948c335a078
1 parent
9e0361b9
Exists in
master
and in
22 other branches
community_block: fix tests
Showing
3 changed files
with
86 additions
and
90 deletions
Show diff stats
plugins/community_block/test/functional/commmunity_block_plugin_profile_controller_test.rb
0 → 100644
@@ -0,0 +1,83 @@ | @@ -0,0 +1,83 @@ | ||
1 | +require File.dirname(__FILE__) + '/../test_helper' | ||
2 | + | ||
3 | +# Re-raise errors caught by the controller. | ||
4 | +class ProfileController | ||
5 | + append_view_path File.join(File.dirname(__FILE__) + '/../../views') | ||
6 | + def rescue_action(e) | ||
7 | + raise e | ||
8 | + end | ||
9 | +end | ||
10 | + | ||
11 | +class ProfileControllerTest < ActionController::TestCase | ||
12 | + | ||
13 | + def setup | ||
14 | + @user = create_user('testinguser').person | ||
15 | + login_as(@user.identifier) | ||
16 | + | ||
17 | + @community = fast_create(Community, :environment_id => Environment.default) | ||
18 | + @community.add_member @user | ||
19 | + @community.add_admin @user | ||
20 | + | ||
21 | + @environment = @community.environment | ||
22 | + @environment.enabled_plugins = ['CommunityBlock'] | ||
23 | + @environment.save! | ||
24 | + | ||
25 | + CommunityBlock.delete_all | ||
26 | + @box1 = create(Box, :owner => @community) | ||
27 | + @community.boxes = [@box1] | ||
28 | + | ||
29 | + @block = CommunityBlock.new | ||
30 | + @block.box = @box1 | ||
31 | + @block.save! | ||
32 | + | ||
33 | + @community.blocks<<@block | ||
34 | + @community.save! | ||
35 | + end | ||
36 | + | ||
37 | + should 'display community-block' do | ||
38 | + get :index, :profile => @community.identifier | ||
39 | + assert_tag :div, :attributes => {:class => 'community-block-logo'} | ||
40 | + assert_tag :div, :attributes => {:class => 'community-block-info'} | ||
41 | + assert_tag :div, :attributes => {:class => 'community-block-title'} | ||
42 | + assert_tag :div, :attributes => {:class => 'community-block-description'} | ||
43 | + end | ||
44 | + | ||
45 | + should 'display *leave* button when the user is logged in and is a member of the community' do | ||
46 | + get :index, :profile => @community.identifier | ||
47 | + assert_tag :span, :attributes => {:class => 'community-block-button icon-remove'} | ||
48 | + end | ||
49 | + | ||
50 | + should 'display *send email to administrators* button when the user is logged in and is a member of the community' do | ||
51 | + get :index, :profile => @community.identifier | ||
52 | + assert_match /\{"Send an e-mail":\{"href":"\/contact\/#{@community.identifier}\/new"\}\}/, @response.body | ||
53 | + end | ||
54 | + | ||
55 | + should 'display *report* button when the user is logged in and is a member of the community' do | ||
56 | + get :index, :profile => @community.identifier | ||
57 | + assert_match /\{"Report abuse":\{"href":"\/profile\/#{@community.identifier}\/report_abuse"\}\}/, @response.body | ||
58 | + end | ||
59 | + | ||
60 | + should 'display *join* button when the user is logged in and is not a member of the community' do | ||
61 | + @community.remove_member @user | ||
62 | + get :index, :profile => @community.identifier | ||
63 | + assert_tag :span, :attributes => {:class => 'community-block-button icon-add'} | ||
64 | + end | ||
65 | + | ||
66 | + should 'display *control panel* link option when the user is logged in and is community admin' do | ||
67 | + get :index, :profile => @community.identifier | ||
68 | + assert_match /\{"Control panel":\{"href":"\/myprofile\/#{@community.identifier}"\}\}/, @response.body | ||
69 | + end | ||
70 | + | ||
71 | + should 'display *join* button when the user is not logged in' do | ||
72 | + logout | ||
73 | + get :index, :profile => @community.identifier | ||
74 | + assert_tag :span, :attributes => {:class => 'community-block-button icon-add'} | ||
75 | + end | ||
76 | + | ||
77 | + should 'not display *arrow* button when the user is not logged in' do | ||
78 | + logout | ||
79 | + get :index, :profile => @community.identifier | ||
80 | + assert_no_tag :span, :attributes => {:class => 'community-block-button icon-arrow'} | ||
81 | + end | ||
82 | + | ||
83 | +end |
plugins/community_block/test/functional/commmunity_block_plugin_profile_design_controller_test.rb
@@ -1,87 +0,0 @@ | @@ -1,87 +0,0 @@ | ||
1 | -require File.dirname(__FILE__) + '/../test_helper' | ||
2 | - | ||
3 | -# Re-raise errors caught by the controller. | ||
4 | -class ProfileController | ||
5 | - append_view_path File.join(File.dirname(__FILE__) + '/../../views') | ||
6 | - def rescue_action(e) | ||
7 | - raise e | ||
8 | - end | ||
9 | -end | ||
10 | - | ||
11 | -class ProfileControllerTest < ActionController::TestCase | ||
12 | - | ||
13 | - def setup | ||
14 | - @controller = ProfileController.new | ||
15 | - @request = ActionController::TestRequest.new | ||
16 | - @response = ActionController::TestResponse.new | ||
17 | - | ||
18 | - @user = create_user('testinguser').person | ||
19 | - login_as(@user.identifier) | ||
20 | - | ||
21 | - @community = fast_create(Community, :environment_id => Environment.default) | ||
22 | - @community.add_member @user | ||
23 | - @community.add_admin @user | ||
24 | - | ||
25 | - @environment = @community.environment | ||
26 | - @environment.enabled_plugins = ['CommunityBlock'] | ||
27 | - @environment.save! | ||
28 | - | ||
29 | - CommunityBlock.delete_all | ||
30 | - @box1 = create(Box, :owner => @community) | ||
31 | - @community.boxes = [@box1] | ||
32 | - | ||
33 | - @block = CommunityBlock.new | ||
34 | - @block.box = @box1 | ||
35 | - @block.save! | ||
36 | - | ||
37 | - @community.blocks<<@block | ||
38 | - @community.save! | ||
39 | - end | ||
40 | - | ||
41 | - should 'display community-block' do | ||
42 | - get :index, :profile => @community.identifier | ||
43 | - assert_tag :div, :attributes => {:class => 'community-block-logo'} | ||
44 | - assert_tag :div, :attributes => {:class => 'community-block-info'} | ||
45 | - assert_tag :div, :attributes => {:class => 'community-block-title'} | ||
46 | - assert_tag :div, :attributes => {:class => 'community-block-description'} | ||
47 | - end | ||
48 | - | ||
49 | - should 'display *leave* button when the user is logged in and is a member of the community' do | ||
50 | - get :index, :profile => @community.identifier | ||
51 | - assert_tag :span, :attributes => {:class => 'community-block-button icon-remove'} | ||
52 | - end | ||
53 | - | ||
54 | - should 'display *send email to administrators* button when the user is logged in and is a member of the community' do | ||
55 | - get :index, :profile => @community.identifier | ||
56 | - assert_match /\{"Send an e-mail":\{"href":"\/contact\/#{@community.identifier}\/new"\}\}/, @response.body | ||
57 | - end | ||
58 | - | ||
59 | - should 'display *report* button when the user is logged in and is a member of the community' do | ||
60 | - get :index, :profile => @community.identifier | ||
61 | - assert_match /\{"Report abuse":\{"href":"\/profile\/#{@community.identifier}\/report_abuse"\}\}/, @response.body | ||
62 | - end | ||
63 | - | ||
64 | - should 'display *join* button when the user is logged in and is not a member of the community' do | ||
65 | - @community.remove_member @user | ||
66 | - get :index, :profile => @community.identifier | ||
67 | - assert_tag :span, :attributes => {:class => 'community-block-button icon-add'} | ||
68 | - end | ||
69 | - | ||
70 | - should 'display *control panel* link option when the user is logged in and is community admin' do | ||
71 | - get :index, :profile => @community.identifier | ||
72 | - assert_match /\{"Control panel":\{"href":"\/myprofile\/#{@community.identifier}"\}\}/, @response.body | ||
73 | - end | ||
74 | - | ||
75 | - should 'display *join* button when the user is not logged in' do | ||
76 | - logout | ||
77 | - get :index, :profile => @community.identifier | ||
78 | - assert_tag :span, :attributes => {:class => 'community-block-button icon-add'} | ||
79 | - end | ||
80 | - | ||
81 | - should 'not display *arrow* button when the user is not logged in' do | ||
82 | - logout | ||
83 | - get :index, :profile => @community.identifier | ||
84 | - assert_no_tag :span, :attributes => {:class => 'community-block-button icon-arrow'} | ||
85 | - end | ||
86 | - | ||
87 | -end |
plugins/community_block/views/community_block.html.erb
@@ -23,7 +23,7 @@ | @@ -23,7 +23,7 @@ | ||
23 | <%= link_to( | 23 | <%= link_to( |
24 | content_tag('span','',:class => 'community-block-button icon-arrow'), | 24 | content_tag('span','',:class => 'community-block-button icon-arrow'), |
25 | '#', | 25 | '#', |
26 | - :onclick => "toggleSubmenu(this,'',#{j links.to_json}); return false;", | 26 | + :onclick => "toggleSubmenu(this,'',#{CGI::escapeHTML(links.to_json)}); return false;", |
27 | :class => 'simplemenu-trigger') %> | 27 | :class => 'simplemenu-trigger') %> |
28 | 28 | ||
29 | <% end %> | 29 | <% end %> |
@@ -32,11 +32,11 @@ | @@ -32,11 +32,11 @@ | ||
32 | <% if profile.members.include?(user) || profile.already_request_membership?(user) %> | 32 | <% if profile.members.include?(user) || profile.already_request_membership?(user) %> |
33 | <%= link_to( | 33 | <%= link_to( |
34 | content_tag('span', '', :class => 'community-block-button icon-remove'), | 34 | content_tag('span', '', :class => 'community-block-button icon-remove'), |
35 | - profile.leave_url) %> | 35 | + profile.leave_url, :class => 'join-community') %> |
36 | <% else %> | 36 | <% else %> |
37 | <%= link_to( | 37 | <%= link_to( |
38 | content_tag('span', '', :class => 'community-block-button icon-add'), | 38 | content_tag('span', '', :class => 'community-block-button icon-add'), |
39 | - profile.join_url) %> | 39 | + profile.join_url, :class => 'join-community') %> |
40 | <% end %> | 40 | <% end %> |
41 | <% else %> | 41 | <% else %> |
42 | <%= link_to( | 42 | <%= link_to( |