forked from consuldemocracy/consuldemocracy
-
Notifications
You must be signed in to change notification settings - Fork 0
/
users.rb
100 lines (87 loc) · 4.27 KB
/
users.rb
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
section "Creating Users" do
def create_user(email, username)
password = "12345678"
User.create!(
username: username,
email: email,
password: password,
password_confirmation: password,
confirmed_at: Time.current,
terms_of_service: "1",
gender: %w[male female].sample,
date_of_birth: rand((Time.current - 80.years)..(Time.current - 16.years)),
public_activity: (rand(1..100) > 30)
)
end
def unique_document_number
@document_number ||= 12345678
@document_number += 1
"#{@document_number}#{[*"A".."Z"].sample}"
end
admin = create_user("[email protected]", "admin")
admin.create_administrator
admin.update(residence_verified_at: Time.current,
confirmed_phone: Faker::PhoneNumber.phone_number, document_type: "1",
verified_at: Time.current, document_number: unique_document_number)
moderator = create_user("[email protected]", "moderator")
moderator.create_moderator
moderator.update(residence_verified_at: Time.current,
confirmed_phone: Faker::PhoneNumber.phone_number, document_type: "1",
verified_at: Time.current, document_number: unique_document_number)
manager = create_user("[email protected]", "manager")
manager.create_manager
manager.update(residence_verified_at: Time.current,
confirmed_phone: Faker::PhoneNumber.phone_number, document_type: "1",
verified_at: Time.current, document_number: unique_document_number)
valuator = create_user("[email protected]", "valuator")
valuator.create_valuator
valuator.update(residence_verified_at: Time.current,
confirmed_phone: Faker::PhoneNumber.phone_number, document_type: "1",
verified_at: Time.current, document_number: unique_document_number)
poll_officer = create_user("[email protected]", "Paul O. Fisher")
poll_officer.create_poll_officer
poll_officer.update(residence_verified_at: Time.current,
confirmed_phone: Faker::PhoneNumber.phone_number, document_type: "1",
verified_at: Time.current, document_number: unique_document_number)
poll_officer2 = create_user("[email protected]", "Pauline M. Espinosa")
poll_officer2.create_poll_officer
poll_officer2.update(residence_verified_at: Time.current,
confirmed_phone: Faker::PhoneNumber.phone_number, document_type: "1",
verified_at: Time.current, document_number: unique_document_number)
create_user("[email protected]", "unverified")
level_2 = create_user("[email protected]", "level 2")
level_2.update(residence_verified_at: Time.current,
confirmed_phone: Faker::PhoneNumber.phone_number,
document_number: unique_document_number, document_type: "1")
verified = create_user("[email protected]", "verified")
verified.update(residence_verified_at: Time.current,
confirmed_phone: Faker::PhoneNumber.phone_number, document_type: "1",
verified_at: Time.current, document_number: unique_document_number)
[
I18n.t("seeds.organizations.neighborhood_association"),
I18n.t("seeds.organizations.human_rights"),
"Greenpeace"
].each do |organization_name|
org_user = create_user("#{organization_name.parameterize}@consul.dev", organization_name)
org = org_user.create_organization(name: organization_name, responsible_name: Faker::Name.name)
[true, false].cycle ? org.verify : org.reject
end
5.times do |i|
official = create_user("official#{i}@consul.dev", "Official #{i}")
official.update(official_level: i, official_position: "Official position #{i}")
end
30.times do |i|
user = create_user("user#{i}@consul.dev", "Regular user #{i}")
level = [1, 2, 3].sample
if level >= 2
user.update(residence_verified_at: Time.current,
confirmed_phone: Faker::PhoneNumber.phone_number,
document_number: unique_document_number,
document_type: "1",
geozone: Geozone.all.sample)
end
if level == 3
user.update(verified_at: Time.current, document_number: unique_document_number)
end
end
end