Commit e0298c2e733b1164742fe47bf6ebb007b1ccf214

Authored by Rodrigo Souto
1 parent 7729506e

plugins: use foo plugin on cucumber tests

features/plugins.feature
@@ -13,46 +13,39 @@ Feature: plugins @@ -13,46 +13,39 @@ Feature: plugins
13 | login | name | 13 | login | name |
14 | joaosilva | Joao Silva | 14 | joaosilva | Joao Silva |
15 And I am logged in as "joaosilva" 15 And I am logged in as "joaosilva"
16 - And the following plugin  
17 - | klass |  
18 - | TestPlugin |  
19 - And the following events of TestPlugin  
20 - | event | body |  
21 - | control_panel_buttons | proc { {:title => 'Test plugin button', :icon => '', :url => ''} } |  
22 - | profile_tabs | proc { {:title => 'Test plugin tab', :id => 'test_plugin', :content => proc {'Test plugin random content'} } } |  
23 16
24 Scenario: a user must see the plugin\'s button in the control panel if the plugin is enabled 17 Scenario: a user must see the plugin\'s button in the control panel if the plugin is enabled
25 - Given plugin Test is enabled on environment 18 + Given plugin Foo is enabled on environment
26 And I go to joaosilva's control panel 19 And I go to joaosilva's control panel
27 - Then I should see "Test plugin button" 20 + Then I should see "Foo plugin button"
28 21
29 Scenario: a user must see the plugin\'s tab in in the profile if the plugin is enabled 22 Scenario: a user must see the plugin\'s tab in in the profile if the plugin is enabled
30 - Given plugin Test is enabled on environment 23 + Given plugin Foo is enabled on environment
31 And I am on joaosilva's profile 24 And I am on joaosilva's profile
32 - Then I should see "Test plugin tab" 25 + Then I should see "Foo plugin tab"
33 26
34 Scenario: a user must not see the plugin\'s button in the control panel if the plugin is disabled 27 Scenario: a user must not see the plugin\'s button in the control panel if the plugin is disabled
35 - Given plugin Test is disabled on environment 28 + Given plugin Foo is disabled on environment
36 And I go to joaosilva's control panel 29 And I go to joaosilva's control panel
37 - Then I should not see "Test plugin button" 30 + Then I should not see "Foo plugin button"
38 31
39 Scenario: a user must not see the plugin\'s tab in in the profile if the plugin is disabled 32 Scenario: a user must not see the plugin\'s tab in in the profile if the plugin is disabled
40 - Given plugin Test is disabled on environment 33 + Given plugin Foo is disabled on environment
41 And I am on joaosilva's profile 34 And I am on joaosilva's profile
42 - Then I should not see "Test plugin tab" 35 + Then I should not see "Foo plugin tab"
43 36
44 Scenario: an admin should be able to deactivate a plugin 37 Scenario: an admin should be able to deactivate a plugin
45 - Given plugin Test is enabled on environment 38 + Given plugin Foo is enabled on environment
46 And I am logged in as admin 39 And I am logged in as admin
47 When I go to admin_user's control panel 40 When I go to admin_user's control panel
48 - Then I should see "Test plugin button" 41 + Then I should see "Foo plugin button"
49 When I go to admin_user's profile 42 When I go to admin_user's profile
50 - Then I should see "Test plugin tab" 43 + Then I should see "Foo plugin tab"
51 And I go to the environment control panel 44 And I go to the environment control panel
52 And I follow "Plugins" 45 And I follow "Plugins"
53 - And I uncheck "Test plugin" 46 + And I uncheck "Foo"
54 And I press "Save changes" 47 And I press "Save changes"
55 When I go to admin_user's control panel 48 When I go to admin_user's control panel
56 - Then I should not see "Test plugin button" 49 + Then I should not see "Foo plugin button"
57 When I go to admin_user's profile 50 When I go to admin_user's profile
58 - Then I should not see "Test plugin tab" 51 + Then I should not see "Foo plugin tab"
plugins/foo/lib/foo_plugin.rb
@@ -8,4 +8,12 @@ class FooPlugin < Noosfero::Plugin @@ -8,4 +8,12 @@ class FooPlugin < Noosfero::Plugin
8 _("A sample plugin to test autoload craziness.") 8 _("A sample plugin to test autoload craziness.")
9 end 9 end
10 10
  11 + def control_panel_buttons
  12 + {:title => 'Foo plugin button', :icon => '', :url => ''}
  13 + end
  14 +
  15 + def profile_tabs
  16 + {:title => 'Foo plugin tab', :id => 'foo_plugin', :content => lambda {'Foo plugin random content'} }
  17 + end
  18 +
11 end 19 end