Commit 1632de4ad16a9c7fe9b05773d1c4d71413b3d6d7

Authored by Daniela Feitosa
1 parent d252e70e

Fixed suggestions of usernames

Also included unit test to account_helper
(ActionItem3009)
app/helpers/account_helper.rb
... ... @@ -13,14 +13,14 @@ module AccountHelper
13 13 end
14 14 end
15 15  
16   - def suggestion_based_on_username(requested_username)
  16 + def suggestion_based_on_username(requested_username='')
17 17 return "" if requested_username.empty?
18 18 usernames = []
19 19 3.times do
20 20 begin
21 21 valid_name = requested_username + rand(1000).to_s
22   - end while (usernames.include?(valid_name) && Person.is_available?(valid_name, environment))
23   - usernames += [valid_name]
  22 + end while (usernames.include?(valid_name) || !Person.is_available?(valid_name, environment))
  23 + usernames << valid_name
24 24 end
25 25 usernames
26 26 end
... ...
test/unit/account_helper_test.rb 0 → 100644
... ... @@ -0,0 +1,21 @@
  1 +require File.dirname(__FILE__) + '/../test_helper'
  2 +
  3 +class AccountHelperTest < ActiveSupport::TestCase
  4 +
  5 + include AccountHelper
  6 + include ActionView::Helpers::TagHelper
  7 +
  8 + should 'not suggest usernames if username is empty' do
  9 + assert_equal '', suggestion_based_on_username
  10 + end
  11 +
  12 + should 'suggest valid usernames' do
  13 + ze = create_user('ze').person
  14 + stubs(:environment).returns(ze.environment)
  15 + suggestions = suggestion_based_on_username('ze')
  16 + suggestions.each do |suggestion|
  17 + assert_equal true, Person.is_available?(suggestion, ze.environment)
  18 + end
  19 + end
  20 +
  21 +end
... ...