/spec/factories.rb
Ruby | 52 lines | 44 code | 8 blank | 0 comment | 2 complexity | bd78823b05bc8ec9f887a6b08222efe4 MD5 | raw file
- FactoryGirl.define do
- factory :user do
- sequence(:name) { |i| "John Doe #{i}" }
- sequence(:email) { |i| "john#{i}@example.com" }
- location 'Minsk, Belarus'
- about 'Poor factory user...'
- password '123456'
- end
- factory :omniauth_identity do
- provider 'google'
- uid do |identity|
- OmniAuth.config.mock_auth.fetch(identity.provider.to_sym, { 'uid' => "123456" })['uid']
- end
- end
- factory :user_with_omniauth_identity, :parent => :user do |user|
- user.before(:create) { |u| u.omniauth_identities = [build(:omniauth_identity)] }
- password nil
- end
- factory :user_with_languages, :parent => :user do |user|
- user.after(:create) { |u| u.languages = [create(:language), create(:language)] }
- end
- factory :task do
- sequence(:position) { |n| n }
- sequence(:name) { |n| "Task no #{n}" }
- sequence(:slug) { |n| "task_#{n}" }
- description "*Description* \n\n print(hello)\n print(world)"
- template "Solution template"
- award 10
- end
- factory :language do |lang|
- sequence(:name) { |n| "Language #{n}" }
- sequence(:id) { |n| "lang_#{n}" }
- description 'Description and some interesting facts about language.'
- code_example 'print "Hello, world"'
- links { |l| ["example.org/wiki/#{l.name}", "example.org/languages/#{l.name.parameterize}", "escaped.org/C%2B%2B"] }
- lang.after(:create) { |l| 2.times { create(:task, language: l) } }
- version 'Version 1.2.3'
- end
- factory :comment do
- body 'Some body'
- task { Task.first || create(:task) }
- user { User.first || create(:user) }
- end
- end