# 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'
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