In the beginning and after each successful step you make
- email: string
- first_name: string
- last_name: string
- username: string
- age: integer
- email:
- 5-100 characts and unique
- first_name:
- 2-100 characters
- last_name:
- 2-100 characters
- username:
- 3-100 characters
- unique
- NOT in [:admin, :system, :public, :guest]
- age:
- Between 13-120
- username validation should fail both for :username => :admin and :username => 'admin' (always work with symbol)
- username should be saved and validated "downcased"
- 'sextant'
- 'hirb'
- 'faker'
If you want to generate users for testing, add this to User model:
def self.random_user
User.create(
first_name: Faker::Name.first_name,
last_name: Faker::Name.last_name,
age: rand(18..100),
username: Faker::Name.first_name.downcase
)
end
Run from console with: 100.times { User.random_user }