From 1632de4ad16a9c7fe9b05773d1c4d71413b3d6d7 Mon Sep 17 00:00:00 2001 From: Daniela Feitosa Date: Sun, 13 Apr 2014 03:25:25 +0000 Subject: [PATCH] Fixed suggestions of usernames --- app/helpers/account_helper.rb | 6 +++--- test/unit/account_helper_test.rb | 21 +++++++++++++++++++++ 2 files changed, 24 insertions(+), 3 deletions(-) create mode 100644 test/unit/account_helper_test.rb diff --git a/app/helpers/account_helper.rb b/app/helpers/account_helper.rb index 9153903..09ed494 100644 --- a/app/helpers/account_helper.rb +++ b/app/helpers/account_helper.rb @@ -13,14 +13,14 @@ module AccountHelper end end - def suggestion_based_on_username(requested_username) + def suggestion_based_on_username(requested_username='') return "" if requested_username.empty? usernames = [] 3.times do begin valid_name = requested_username + rand(1000).to_s - end while (usernames.include?(valid_name) && Person.is_available?(valid_name, environment)) - usernames += [valid_name] + end while (usernames.include?(valid_name) || !Person.is_available?(valid_name, environment)) + usernames << valid_name end usernames end diff --git a/test/unit/account_helper_test.rb b/test/unit/account_helper_test.rb new file mode 100644 index 0000000..69656aa --- /dev/null +++ b/test/unit/account_helper_test.rb @@ -0,0 +1,21 @@ +require File.dirname(__FILE__) + '/../test_helper' + +class AccountHelperTest < ActiveSupport::TestCase + + include AccountHelper + include ActionView::Helpers::TagHelper + + should 'not suggest usernames if username is empty' do + assert_equal '', suggestion_based_on_username + end + + should 'suggest valid usernames' do + ze = create_user('ze').person + stubs(:environment).returns(ze.environment) + suggestions = suggestion_based_on_username('ze') + suggestions.each do |suggestion| + assert_equal true, Person.is_available?(suggestion, ze.environment) + end + end + +end -- libgit2 0.21.2