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 @@ |
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 | -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 | 23 | <%= link_to( |
24 | 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 | 27 | :class => 'simplemenu-trigger') %> |
28 | 28 | |
29 | 29 | <% end %> |
... | ... | @@ -32,11 +32,11 @@ |
32 | 32 | <% if profile.members.include?(user) || profile.already_request_membership?(user) %> |
33 | 33 | <%= link_to( |
34 | 34 | content_tag('span', '', :class => 'community-block-button icon-remove'), |
35 | - profile.leave_url) %> | |
35 | + profile.leave_url, :class => 'join-community') %> | |
36 | 36 | <% else %> |
37 | 37 | <%= link_to( |
38 | 38 | content_tag('span', '', :class => 'community-block-button icon-add'), |
39 | - profile.join_url) %> | |
39 | + profile.join_url, :class => 'join-community') %> | |
40 | 40 | <% end %> |
41 | 41 | <% else %> |
42 | 42 | <%= link_to( | ... | ... |