Make sure the RSS token is getting destroyed and created.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3210 e93f8b46-1217-0410-a6f0-8f06a7374b81
This commit is contained in:
parent
c478fa7f90
commit
e1013c44a3
|
@ -97,8 +97,12 @@ class MyController < ApplicationController
|
|||
|
||||
# Create a new feeds key
|
||||
def reset_rss_key
|
||||
if request.post? && User.current.rss_token
|
||||
User.current.rss_token.destroy
|
||||
if request.post?
|
||||
if User.current.rss_token
|
||||
User.current.rss_token.destroy
|
||||
User.current.reload
|
||||
end
|
||||
User.current.rss_key
|
||||
flash[:notice] = l(:notice_feeds_access_key_reseted)
|
||||
end
|
||||
redirect_to :action => 'account'
|
||||
|
|
|
@ -129,4 +129,38 @@ class MyControllerTest < ActionController::TestCase
|
|||
assert_response :success
|
||||
assert_equal ['documents', 'calendar', 'latestnews'], User.find(2).pref[:my_page_layout]['left']
|
||||
end
|
||||
|
||||
context "POST to reset_rss_key" do
|
||||
context "with an existing rss_token" do
|
||||
setup do
|
||||
@previous_token_value = User.find(2).rss_key # Will generate one if it's missing
|
||||
post :reset_rss_key
|
||||
end
|
||||
|
||||
should "destroy the existing token" do
|
||||
assert_not_equal @previous_token_value, User.find(2).rss_key
|
||||
end
|
||||
|
||||
should "create a new token" do
|
||||
assert User.find(2).rss_token
|
||||
end
|
||||
|
||||
should_set_the_flash_to /reset/
|
||||
should_redirect_to('my account') {'/my/account' }
|
||||
end
|
||||
|
||||
context "with no rss_token" do
|
||||
setup do
|
||||
assert_nil User.find(2).rss_token
|
||||
post :reset_rss_key
|
||||
end
|
||||
|
||||
should "create a new token" do
|
||||
assert User.find(2).rss_token
|
||||
end
|
||||
|
||||
should_set_the_flash_to /reset/
|
||||
should_redirect_to('my account') {'/my/account' }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue