Commit cc6e47460287eca00bc58504a6b9759bc02f5782

Authored by Daniela Feitosa
Committed by Antonio Terceiro
1 parent e090a2b4

ActionItem1125: only authenticated users can enable enterprises

* moved box "enterprise activation" to control panel
  * require login to activate enterprise
app/controllers/public/account_controller.rb
@@ -4,6 +4,8 @@ class AccountController < ApplicationController @@ -4,6 +4,8 @@ class AccountController < ApplicationController
4 4
5 require_ssl :except => [ :login_popup, :logout_popup, :wizard, :profile_details ] 5 require_ssl :except => [ :login_popup, :logout_popup, :wizard, :profile_details ]
6 6
  7 + before_filter :login_required, :only => [:activation_question, :accept_terms, :activate_enterprise]
  8 +
7 # say something nice, you goof! something sweet. 9 # say something nice, you goof! something sweet.
8 def index 10 def index
9 unless logged_in? 11 unless logged_in?
@@ -181,22 +183,6 @@ class AccountController < ApplicationController @@ -181,22 +183,6 @@ class AccountController < ApplicationController
181 def accept_terms 183 def accept_terms
182 @enterprise = load_enterprise 184 @enterprise = load_enterprise
183 @question = @enterprise.question 185 @question = @enterprise.question
184 -  
185 - if @enterprise.enabled  
186 - render :action => 'already_activated'  
187 - return  
188 - end  
189 -  
190 - @question = @enterprise.question  
191 - if !@question || @enterprise.blocked?  
192 - render :action => 'blocked'  
193 - return  
194 - end  
195 - end  
196 -  
197 - def accept_terms  
198 - @enterprise = load_enterprise  
199 - @question = @enterprise.question  
200 if !@question || @enterprise.blocked? 186 if !@question || @enterprise.blocked?
201 render :action => 'blocked' 187 render :action => 'blocked'
202 return 188 return
@@ -212,7 +198,6 @@ class AccountController < ApplicationController @@ -212,7 +198,6 @@ class AccountController < ApplicationController
212 @question = @enterprise.question 198 @question = @enterprise.question
213 return unless check_answer 199 return unless check_answer
214 return unless check_acceptance_of_terms 200 return unless check_acceptance_of_terms
215 - load_user  
216 201
217 activation = load_enterprise_activation 202 activation = load_enterprise_activation
218 if activation && user 203 if activation && user
@@ -253,18 +238,6 @@ class AccountController < ApplicationController @@ -253,18 +238,6 @@ class AccountController < ApplicationController
253 @cannot_redirect = true 238 @cannot_redirect = true
254 end 239 end
255 240
256 - def load_user  
257 - unless logged_in?  
258 - no_redirect  
259 - if params[:new_user]  
260 - signup  
261 - else  
262 - login  
263 - end  
264 - end  
265 - true  
266 - end  
267 -  
268 def check_answer 241 def check_answer
269 unless answer_correct 242 unless answer_correct
270 @enterprise.block 243 @enterprise.block
app/views/account/activation_question.rhtml
@@ -28,7 +28,7 @@ @@ -28,7 +28,7 @@
28 28
29 <p> <strong><%= _('Pay atention! You have only one chance!') %></strong> </p> 29 <p> <strong><%= _('Pay atention! You have only one chance!') %></strong> </p>
30 30
31 - <p><%= _("This is a question to know if you is really part of this enterprise. Pay atention because you has only one chance to answer rigth and activate your enterprise. If you answer wrong you will not be able to activate the enterprise automaticaly and must get in touch with the admins of %s by email or phone.") % environment.name %> </p> 31 + <p><%= _("This is a question to know if you really are part of this enterprise. Pay atention because you have only one chance to answer right and activate your enterprise. If you answer wrong you will not be able to activate the enterprise automaticaly and must get in touch with the admins of %s by email or phone.") % environment.name %> </p>
32 32
33 <%= ApplicationHelper::NoosferoFormBuilder::output_field(@question == :foundation_year ? _('What year your enterprise was founded?') : _('What is the CNPJ of your enterprise?'), text_field_tag(:answer, nil, :id => 'enterprise-activation-answer', :help => help=_('We need to be sure that this is your enterprise'))) %> 33 <%= ApplicationHelper::NoosferoFormBuilder::output_field(@question == :foundation_year ? _('What year your enterprise was founded?') : _('What is the CNPJ of your enterprise?'), text_field_tag(:answer, nil, :id => 'enterprise-activation-answer', :help => help=_('We need to be sure that this is your enterprise'))) %>
34 34
app/views/home/index.rhtml
@@ -47,18 +47,6 @@ @@ -47,18 +47,6 @@
47 <%= environment.description %> 47 <%= environment.description %>
48 <% end %> 48 <% end %>
49 49
50 -<% if environment.enabled?('enterprise_activation') %>  
51 -  
52 - <div id='activation_enterprise'>  
53 - <% form_tag({:controller => 'account', :action => 'activation_question'}, {:method => 'get'}) do %>  
54 - <p><strong><%= __('Activate your enterprise') %></strong></p>  
55 - <%= labelled_form_field(__('Enterprise activation code') + ':', text_field_tag('enterprise_code')) %>  
56 - <%= submit_button(:ok, _('Activate')) %>  
57 - <% end %>  
58 - </div>  
59 -  
60 -<% end %>  
61 -  
62 <% if environment.enabled?('search_in_home') %> 50 <% if environment.enabled?('search_in_home') %>
63 <div id='home-search' style='text-align: center'> 51 <div id='home-search' style='text-align: center'>
64 <% form_tag :controller => 'search', :action => 'index' do %> 52 <% form_tag :controller => 'search', :action => 'index' do %>
app/views/profile_editor/index.rhtml
@@ -60,8 +60,19 @@ @@ -60,8 +60,19 @@
60 <% end %> 60 <% end %>
61 61
62 <%= control_panel_button(_('Manage my groups'), 'groups', :controller => 'memberships') if profile.person? %> 62 <%= control_panel_button(_('Manage my groups'), 'groups', :controller => 'memberships') if profile.person? %>
63 -  
64 <% end %> 63 <% end %>
65 64
  65 + <% if environment.enabled?('enterprise_activation') %>
  66 +
  67 + <div id='activation_enterprise'>
  68 + <% form_tag({:controller => 'account', :action => 'activation_question'}, {:method => 'get'}) do %>
  69 + <p><strong><%= __('Activate your enterprise') %></strong></p>
  70 + <p><%= _("If you received a letter with information about your enterprise activation, add here the activation code that was sent.") %> </p>
  71 + <%= labelled_form_field(__('Enterprise activation code') + ':', text_field_tag('enterprise_code')) %>
  72 + <%= submit_button(:ok, _('Activate')) %>
  73 + <% end %>
  74 + </div>
  75 +
  76 + <% end %>
66 77
67 </div> 78 </div>
test/functional/account_controller_test.rb
@@ -332,7 +332,16 @@ class AccountControllerTest &lt; Test::Unit::TestCase @@ -332,7 +332,16 @@ class AccountControllerTest &lt; Test::Unit::TestCase
332 # # 332 # #
333 ################################ 333 ################################
334 334
  335 + should 'require login for validation question' do
  336 + get :activation_question, :enterprise_code => 'some_code'
  337 +
  338 + assert_redirected_to :controller => 'account', :action => 'login'
  339 + end
  340 +
335 should 'report invalid enterprise code on signup' do 341 should 'report invalid enterprise code on signup' do
  342 + person = create_user('mylogin').person
  343 + login_as(person.identifier)
  344 +
336 EnterpriseActivation.expects(:find_by_code).with('some_invalid_code').returns(nil).at_least_once 345 EnterpriseActivation.expects(:find_by_code).with('some_invalid_code').returns(nil).at_least_once
337 346
338 get :activation_question, :enterprise_code => 'some_invalid_code' 347 get :activation_question, :enterprise_code => 'some_invalid_code'
@@ -341,6 +350,9 @@ class AccountControllerTest &lt; Test::Unit::TestCase @@ -341,6 +350,9 @@ class AccountControllerTest &lt; Test::Unit::TestCase
341 end 350 end
342 351
343 should 'report enterprise already enabled' do 352 should 'report enterprise already enabled' do
  353 + person = create_user('mylogin').person
  354 + login_as(person.identifier)
  355 +
344 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :cnpj => '0'*14, :enabled => true) 356 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :cnpj => '0'*14, :enabled => true)
345 task = mock 357 task = mock
346 task.expects(:enterprise).returns(ent).at_least_once 358 task.expects(:enterprise).returns(ent).at_least_once
@@ -352,6 +364,9 @@ class AccountControllerTest &lt; Test::Unit::TestCase @@ -352,6 +364,9 @@ class AccountControllerTest &lt; Test::Unit::TestCase
352 end 364 end
353 365
354 should 'load enterprise from code on for validation question' do 366 should 'load enterprise from code on for validation question' do
  367 + person = create_user('mylogin').person
  368 + login_as(person.identifier)
  369 +
355 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent') 370 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent')
356 371
357 task = mock 372 task = mock
@@ -364,6 +379,9 @@ class AccountControllerTest &lt; Test::Unit::TestCase @@ -364,6 +379,9 @@ class AccountControllerTest &lt; Test::Unit::TestCase
364 end 379 end
365 380
366 should 'block enterprises that do not have foundation_year or cnpj' do 381 should 'block enterprises that do not have foundation_year or cnpj' do
  382 + person = create_user('mylogin').person
  383 + login_as(person.identifier)
  384 +
367 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :enabled => false) 385 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :enabled => false)
368 386
369 task = mock 387 task = mock
@@ -376,6 +394,9 @@ class AccountControllerTest &lt; Test::Unit::TestCase @@ -376,6 +394,9 @@ class AccountControllerTest &lt; Test::Unit::TestCase
376 end 394 end
377 395
378 should 'show form to those enterprises that have foundation year' do 396 should 'show form to those enterprises that have foundation year' do
  397 + person = create_user('mylogin').person
  398 + login_as(person.identifier)
  399 +
379 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => 1998, :enabled => false) 400 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => 1998, :enabled => false)
380 401
381 task = mock 402 task = mock
@@ -388,6 +409,9 @@ class AccountControllerTest &lt; Test::Unit::TestCase @@ -388,6 +409,9 @@ class AccountControllerTest &lt; Test::Unit::TestCase
388 end 409 end
389 410
390 should 'show form to those enterprises that have cnpj' do 411 should 'show form to those enterprises that have cnpj' do
  412 + person = create_user('mylogin').person
  413 + login_as(person.identifier)
  414 +
391 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :cnpj => '0'*14, :enabled => false) 415 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :cnpj => '0'*14, :enabled => false)
392 416
393 task = mock 417 task = mock
@@ -400,6 +424,9 @@ class AccountControllerTest &lt; Test::Unit::TestCase @@ -400,6 +424,9 @@ class AccountControllerTest &lt; Test::Unit::TestCase
400 end 424 end
401 425
402 should 'block those who are blocked' do 426 should 'block those who are blocked' do
  427 + person = create_user('mylogin').person
  428 + login_as(person.identifier)
  429 +
403 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => '1998', :enabled => false) 430 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => '1998', :enabled => false)
404 ent.block 431 ent.block
405 432
@@ -412,7 +439,37 @@ class AccountControllerTest &lt; Test::Unit::TestCase @@ -412,7 +439,37 @@ class AccountControllerTest &lt; Test::Unit::TestCase
412 assert_template 'blocked' 439 assert_template 'blocked'
413 end 440 end
414 441
  442 + should 'put hidden field with enterprise code for answering question' do
  443 + person = create_user('mylogin').person
  444 + login_as(person.identifier)
  445 +
  446 + ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => 1998, :enabled => false)
  447 +
  448 + task = mock
  449 + task.expects(:enterprise).returns(ent).at_least_once
  450 + EnterpriseActivation.expects(:find_by_code).with('0123456789').returns(task).at_least_once
  451 +
  452 + get :activation_question, :enterprise_code => '0123456789'
  453 +
  454 + assert_tag :tag => 'input', :attributes => { :type => 'hidden', :name => 'enterprise_code', :value => '0123456789'}
  455 + end
  456 +
  457 + should 'require login for accept terms' do
  458 + ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => 1998, :enabled => false)
  459 +
  460 + task = mock
  461 + task.expects(:enterprise).returns(ent).never
  462 + EnterpriseActivation.expects(:find_by_code).with('0123456789').returns(task).never
  463 +
  464 + post :accept_terms, :enterprise_code => '0123456789', :answer => '1998'
  465 +
  466 + assert_redirected_to :controller => 'account', :action => 'login'
  467 + end
  468 +
415 should 'block those who failed to answer the question' do 469 should 'block those who failed to answer the question' do
  470 + person = create_user('mylogin').person
  471 + login_as(person.identifier)
  472 +
416 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => 1998, :enabled => false) 473 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => 1998, :enabled => false)
417 474
418 task = mock 475 task = mock
@@ -429,6 +486,9 @@ class AccountControllerTest &lt; Test::Unit::TestCase @@ -429,6 +486,9 @@ class AccountControllerTest &lt; Test::Unit::TestCase
429 end 486 end
430 487
431 should 'show terms of use for enterprise owners' do 488 should 'show terms of use for enterprise owners' do
  489 + person = create_user('mylogin').person
  490 + login_as(person.identifier)
  491 +
432 env = Environment.default 492 env = Environment.default
433 env.terms_of_enterprise_use = 'Some terms' 493 env.terms_of_enterprise_use = 'Some terms'
434 env.save! 494 env.save!
@@ -443,32 +503,37 @@ class AccountControllerTest &lt; Test::Unit::TestCase @@ -443,32 +503,37 @@ class AccountControllerTest &lt; Test::Unit::TestCase
443 assert_tag :tag => 'div', :content => 'Some terms' 503 assert_tag :tag => 'div', :content => 'Some terms'
444 end 504 end
445 505
446 - should 'not activate if user does not accept terms' do 506 + should 'block who is blocked but directly arrive in the second step' do
  507 + person = create_user('mylogin').person
  508 + login_as(person.identifier)
  509 +
447 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => 1998, :enabled => false) 510 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => 1998, :enabled => false)
448 - p = create_user('test_user', :password => 'blih', :password_confirmation => 'blih', :email => 'test@noosfero.com').person  
449 - login_as(p.identifier) 511 + ent.block
  512 + ent.save
450 513
451 - task = EnterpriseActivation.create!(:enterprise => ent) 514 + task = mock
  515 + task.expects(:enterprise).returns(ent).at_least_once
452 EnterpriseActivation.expects(:find_by_code).with('0123456789').returns(task).at_least_once 516 EnterpriseActivation.expects(:find_by_code).with('0123456789').returns(task).at_least_once
453 517
454 - post :activate_enterprise, :enterprise_code => '0123456789', :answer => '1998', :terms_accepted => false  
455 - ent.reload 518 + get :accept_terms, :enterprise_code => '0123456789', :answer => 1998
456 519
457 - assert !ent.enabled  
458 - assert_not_includes ent.members, p 520 + assert_template 'blocked'
459 end 521 end
460 522
461 - should 'ask for login or singup if not logged in' do 523 + should 'require login to activate enterprise' do
  524 + env = Environment.default
  525 + env.terms_of_use = 'some terms'
  526 + env.save!
462 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => 1998, :enabled => false) 527 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => 1998, :enabled => false)
463 task = EnterpriseActivation.create!(:enterprise => ent) 528 task = EnterpriseActivation.create!(:enterprise => ent)
464 - EnterpriseActivation.expects(:find_by_code).with('0123456789').returns(task).at_least_once 529 + EnterpriseActivation.expects(:find_by_code).with('0123456789').returns(task).never
465 530
466 post :activate_enterprise, :enterprise_code => '0123456789', :answer => '1998', :terms_accepted => true 531 post :activate_enterprise, :enterprise_code => '0123456789', :answer => '1998', :terms_accepted => true
467 532
468 - assert_template 'activate_enterprise' 533 + assert_redirected_to :controller => 'account', :action => 'login'
469 end 534 end
470 535
471 - should 'activate enterprise and make logged user admin' do 536 + should 'not activate if user does not accept terms' do
472 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => 1998, :enabled => false) 537 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => 1998, :enabled => false)
473 p = create_user('test_user', :password => 'blih', :password_confirmation => 'blih', :email => 'test@noosfero.com').person 538 p = create_user('test_user', :password => 'blih', :password_confirmation => 'blih', :email => 'test@noosfero.com').person
474 login_as(p.identifier) 539 login_as(p.identifier)
@@ -476,78 +541,32 @@ class AccountControllerTest &lt; Test::Unit::TestCase @@ -476,78 +541,32 @@ class AccountControllerTest &lt; Test::Unit::TestCase
476 task = EnterpriseActivation.create!(:enterprise => ent) 541 task = EnterpriseActivation.create!(:enterprise => ent)
477 EnterpriseActivation.expects(:find_by_code).with('0123456789').returns(task).at_least_once 542 EnterpriseActivation.expects(:find_by_code).with('0123456789').returns(task).at_least_once
478 543
479 - post :activate_enterprise, :enterprise_code => '0123456789', :answer => '1998', :terms_accepted => true  
480 - ent.reload  
481 -  
482 - assert ent.enabled  
483 - assert_includes ent.members, p  
484 - end  
485 -  
486 - should 'not activate enterprise for inexistent user' do  
487 - ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => 1998, :enabled => false)  
488 - task = EnterpriseActivation.create!(:enterprise => ent)  
489 - EnterpriseActivation.expects(:find_by_code).with('0123456789').returns(task).at_least_once  
490 -  
491 - post :activate_enterprise, :enterprise_code => '0123456789', :answer => '1998', :terms_accepted => true, :user => { :login => 'inexistent_user', :password => 'inexistent_password' } 544 + post :activate_enterprise, :enterprise_code => '0123456789', :answer => '1998', :terms_accepted => false
492 ent.reload 545 ent.reload
493 546
494 assert !ent.enabled 547 assert !ent.enabled
  548 + assert_not_includes ent.members, p
495 end 549 end
496 550
497 - should 'activate enterprise and make unlogged user admin' do 551 + should 'activate enterprise and make logged user admin' do
498 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => 1998, :enabled => false) 552 ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => 1998, :enabled => false)
499 p = create_user('test_user', :password => 'blih', :password_confirmation => 'blih', :email => 'test@noosfero.com').person 553 p = create_user('test_user', :password => 'blih', :password_confirmation => 'blih', :email => 'test@noosfero.com').person
  554 + login_as(p.identifier)
500 555
501 task = EnterpriseActivation.create!(:enterprise => ent) 556 task = EnterpriseActivation.create!(:enterprise => ent)
502 EnterpriseActivation.expects(:find_by_code).with('0123456789').returns(task).at_least_once 557 EnterpriseActivation.expects(:find_by_code).with('0123456789').returns(task).at_least_once
503 558
504 - post :activate_enterprise, :enterprise_code => '0123456789', :answer => '1998', :terms_accepted => true, :user => { :login => 'test_user', :password => 'blih' } 559 + post :activate_enterprise, :enterprise_code => '0123456789', :answer => '1998', :terms_accepted => true
505 ent.reload 560 ent.reload
506 561
507 assert ent.enabled 562 assert ent.enabled
508 assert_includes ent.members, p 563 assert_includes ent.members, p
509 end 564 end
510 565
511 - should 'activate enterprise, create user and make admin' do  
512 - ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => 1998, :enabled => false)  
513 -  
514 - task = EnterpriseActivation.create!(:enterprise => ent)  
515 - EnterpriseActivation.expects(:find_by_code).with('0123456789').returns(task).at_least_once  
516 -  
517 - post :activate_enterprise, :enterprise_code => '0123456789', :answer => '1998', :terms_accepted => true, :new_user => true, :user => { :login => 'test_user', :password => 'blih', :password_confirmation => 'blih', :email => 'test@noosfero.com' }, :profile_data => person_data  
518 - ent.reload  
519 -  
520 - assert ent.enabled  
521 - assert_includes ent.members.map(&:identifier), 'test_user'  
522 - end  
523 -  
524 - should 'put hidden field with enterprise code for answering question' do  
525 - ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => 1998, :enabled => false)  
526 -  
527 - task = mock  
528 - task.expects(:enterprise).returns(ent).at_least_once  
529 - EnterpriseActivation.expects(:find_by_code).with('0123456789').returns(task).at_least_once  
530 -  
531 - get :activation_question, :enterprise_code => '0123456789'  
532 -  
533 - assert_tag :tag => 'input', :attributes => { :type => 'hidden', :name => 'enterprise_code', :value => '0123456789'}  
534 - end  
535 -  
536 - should 'block who is blocked but directly arrive in the second step' do  
537 - ent = Enterprise.create!(:name => 'test enterprise', :identifier => 'test_ent', :foundation_year => 1998, :enabled => false)  
538 - ent.block  
539 - ent.save  
540 -  
541 - task = mock  
542 - task.expects(:enterprise).returns(ent).at_least_once  
543 - EnterpriseActivation.expects(:find_by_code).with('0123456789').returns(task).at_least_once  
544 -  
545 - get :accept_terms, :enterprise_code => '0123456789', :answer => 1998  
546 -  
547 - assert_template 'blocked'  
548 - end  
549 -  
550 should 'load terms of use for users when creating new users as activate enterprise' do 566 should 'load terms of use for users when creating new users as activate enterprise' do
  567 + person = create_user('mylogin').person
  568 + login_as(person.identifier)
  569 +
551 env = Environment.default 570 env = Environment.default
552 env.terms_of_use = 'some terms' 571 env.terms_of_use = 'some terms'
553 env.save! 572 env.save!
test/functional/home_controller_test.rb
@@ -22,24 +22,6 @@ all_fixtures @@ -22,24 +22,6 @@ all_fixtures
22 assert_valid_xhtml 22 assert_valid_xhtml
23 end 23 end
24 24
25 - should 'not display form for enterprise activation if disabled in environment' do  
26 - env = Environment.default  
27 - env.disable('enterprise_activation')  
28 - env.save!  
29 -  
30 - get :index  
31 - assert_no_tag :tag => 'div', :attributes => { :id => 'activation_enterprise' }, :descendant => {:tag => 'form', :attributes => {:action => '/account/activation_question'}}  
32 - end  
33 -  
34 - should 'display form for enterprise activation if enabled on environment' do  
35 - env = Environment.default  
36 - env.enable('enterprise_activation')  
37 - env.save!  
38 -  
39 - get :index  
40 - assert_tag :tag => 'div', :attributes => { :id => 'activation_enterprise' }, :descendant => {:tag => 'form', :attributes => {:action => '/account/activation_question'}}  
41 - end  
42 -  
43 should 'not display news from portal if disabled in environment' do 25 should 'not display news from portal if disabled in environment' do
44 env = Environment.default 26 env = Environment.default
45 env.disable('use_portal_community') 27 env.disable('use_portal_community')
test/functional/profile_editor_controller_test.rb
@@ -694,4 +694,23 @@ class ProfileEditorControllerTest &lt; Test::Unit::TestCase @@ -694,4 +694,23 @@ class ProfileEditorControllerTest &lt; Test::Unit::TestCase
694 assert_template 'edit' 694 assert_template 'edit'
695 end 695 end
696 696
  697 + should 'not display form for enterprise activation if disabled in environment' do
  698 + env = Environment.default
  699 + env.disable('enterprise_activation')
  700 + env.save!
  701 +
  702 + get :index, :profile => profile.identifier
  703 + assert_no_tag :tag => 'div', :attributes => { :id => 'activation_enterprise' }, :descendant => {:tag => 'form', :attributes => {:action => '/account/activation_question'}}
  704 + end
  705 +
  706 + should 'display form for enterprise activation if enabled on environment' do
  707 + env = Environment.default
  708 + env.enable('enterprise_activation')
  709 + env.save!
  710 +
  711 + get :index, :profile => profile.identifier
  712 + assert_tag :tag => 'div', :attributes => { :id => 'activation_enterprise' }, :descendant => {:tag => 'form', :attributes => {:action => '/account/activation_question'}}
  713 + end
  714 +
  715 +
697 end 716 end