- assert_template :confirm
- end
-
- def test_confirm_get_already_confirmed
- user = create(:user)
- confirm_string = user.tokens.create.token
-
- @request.cookies["_osm_session"] = user.display_name
- get :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
- assert_response :redirect
- assert_redirected_to root_path
- end
-
- def test_confirm_success_no_token_no_referer
- user = create(:user, :pending)
- stub_gravatar_request(user.email)
- confirm_string = user.tokens.create.token
-
- @request.cookies["_osm_session"] = user.display_name
- post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
- assert_redirected_to login_path
- assert_match(/Confirmed your account/, flash[:notice])
- end
-
- def test_confirm_success_good_token_no_referer
- user = create(:user, :pending)
- stub_gravatar_request(user.email)
- confirm_string = user.tokens.create.token
- token = user.tokens.create.token
-
- @request.cookies["_osm_session"] = user.display_name
- post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }, :session => { :token => token }
- assert_redirected_to welcome_path
- end
-
- def test_confirm_success_bad_token_no_referer
- user = create(:user, :pending)
- stub_gravatar_request(user.email)
- confirm_string = user.tokens.create.token
- token = create(:user).tokens.create.token
-
- @request.cookies["_osm_session"] = user.display_name
- post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }, :session => { :token => token }
- assert_redirected_to login_path
- assert_match(/Confirmed your account/, flash[:notice])
- end
-
- def test_confirm_success_no_token_with_referer
- user = create(:user, :pending)
- stub_gravatar_request(user.email)
- confirm_string = user.tokens.create(:referer => new_diary_entry_path).token
-
- @request.cookies["_osm_session"] = user.display_name
- post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
- assert_redirected_to login_path(:referer => new_diary_entry_path)
- assert_match(/Confirmed your account/, flash[:notice])
- end
-
- def test_confirm_success_good_token_with_referer
- user = create(:user, :pending)
- stub_gravatar_request(user.email)
- confirm_string = user.tokens.create(:referer => new_diary_entry_path).token
- token = user.tokens.create.token
-
- @request.cookies["_osm_session"] = user.display_name
- post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }, :session => { :token => token }
- assert_redirected_to new_diary_entry_path
- end
-
- def test_confirm_success_bad_token_with_referer
- user = create(:user, :pending)
- stub_gravatar_request(user.email)
- confirm_string = user.tokens.create(:referer => new_diary_entry_path).token
- token = create(:user).tokens.create.token
-
- @request.cookies["_osm_session"] = user.display_name
- post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }, :session => { :token => token }
- assert_redirected_to login_path(:referer => new_diary_entry_path)
- assert_match(/Confirmed your account/, flash[:notice])
- end
-
- def test_confirm_expired_token
- user = create(:user, :pending)
- confirm_string = user.tokens.create(:expiry => 1.day.ago).token
-
- @request.cookies["_osm_session"] = user.display_name
- post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
- assert_redirected_to :action => "confirm"
- assert_match(/confirmation code has expired/, flash[:error])
- end
-
- def test_confirm_already_confirmed
- user = create(:user)
- confirm_string = user.tokens.create(:referer => new_diary_entry_path).token
-
- @request.cookies["_osm_session"] = user.display_name
- post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
- assert_redirected_to :action => "login"
- assert_match(/already been confirmed/, flash[:error])