make a fake data for personal conference plugin
This commit is contained in:
parent
1c4b696052
commit
2afbae7c08
66
db/seeds.rb
66
db/seeds.rb
|
@ -6,43 +6,53 @@ FactoryGirl.definition_file_paths = Dir["#{Rails.root}/vendor/built_in_modules/*
|
||||||
FactoryGirl.find_definitions
|
FactoryGirl.find_definitions
|
||||||
|
|
||||||
|
|
||||||
CoAuthorRelation.destroy_all
|
ConferenceCoAuthorRelation.destroy_all
|
||||||
CoAuthor.destroy_all
|
ConferenceCoAuthor.destroy_all
|
||||||
JournalLevelType.destroy_all
|
ConferencePaperType.destroy_all
|
||||||
WritingJournalFile.destroy_all
|
WritingConferenceFile.destroy_all
|
||||||
WritingJournal.destroy_all
|
WritingConference.destroy_all
|
||||||
#Dir[Rails.root.join("spec/factories/*.rb")].each {|f| require f}
|
#Dir[Rails.root.join("spec/factories/*.rb")].each {|f| require f}
|
||||||
|
|
||||||
|
|
||||||
10.size.times do
|
2.times do
|
||||||
FactoryGirl.create(:journal_level)
|
FactoryGirl.create(:conference_paper_type)
|
||||||
end
|
end
|
||||||
|
|
||||||
10.times do
|
10.times do
|
||||||
FactoryGirl.create(:journal_relation)
|
FactoryGirl.create(:conference_co_author_relation)
|
||||||
end
|
|
||||||
|
|
||||||
50.times do
|
|
||||||
FactoryGirl.create(:journal)
|
|
||||||
end
|
|
||||||
|
|
||||||
50.times do
|
|
||||||
FactoryGirl.create(:journal_co_author)
|
|
||||||
end
|
|
||||||
|
|
||||||
10.size.times do
|
|
||||||
FactoryGirl.create(:conference_level)
|
|
||||||
end
|
|
||||||
|
|
||||||
10.times do
|
|
||||||
FactoryGirl.create(:conference_relation)
|
|
||||||
end
|
|
||||||
|
|
||||||
50.times do
|
|
||||||
FactoryGirl.create(:conference)
|
|
||||||
end
|
end
|
||||||
|
|
||||||
50.times do
|
50.times do
|
||||||
FactoryGirl.create(:conference_co_author)
|
FactoryGirl.create(:conference_co_author)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
50.times do
|
||||||
|
FactoryGirl.create(:writing_conference)
|
||||||
|
end
|
||||||
|
|
||||||
puts "Success!"
|
puts "Success!"
|
||||||
|
|
||||||
|
# =======
|
||||||
|
#
|
||||||
|
#CoAuthorRelation.destroy_all
|
||||||
|
#CoAuthor.destroy_all
|
||||||
|
#JournalLevelType.destroy_all
|
||||||
|
#WritingJournalFile.destroy_all
|
||||||
|
#WritingJournal.destroy_all
|
||||||
|
#
|
||||||
|
#10.size.times do
|
||||||
|
# FactoryGirl.create(:journal_level)
|
||||||
|
#end
|
||||||
|
#
|
||||||
|
#10.times do
|
||||||
|
# FactoryGirl.create(:journal_relation)
|
||||||
|
#end
|
||||||
|
#
|
||||||
|
#50.times do
|
||||||
|
# FactoryGirl.create(:journal)
|
||||||
|
#end
|
||||||
|
#
|
||||||
|
#50.times do
|
||||||
|
# FactoryGirl.create(:journal_co_author)
|
||||||
|
#end
|
||||||
|
#puts "Success!"
|
||||||
|
|
20
vendor/built_in_modules/personal_conference/app/models/conference_co_author.rb
vendored
Normal file
20
vendor/built_in_modules/personal_conference/app/models/conference_co_author.rb
vendored
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
class ConferenceCoAuthor
|
||||||
|
include Mongoid::Document
|
||||||
|
|
||||||
|
LANGUAGE_TYPES = [ "English", "Chinese" ]
|
||||||
|
|
||||||
|
field :name_id, type: BSON::ObjectId
|
||||||
|
field :co_author, localize: true
|
||||||
|
field :email
|
||||||
|
|
||||||
|
belongs_to :conference_co_author_relations
|
||||||
|
|
||||||
|
VALID_EMAIL_REGEX = /\A[\w+\-.]+@[a-z\d\-.]+\.[a-z]+\z/
|
||||||
|
validates :email, format: { with: VALID_EMAIL_REGEX },
|
||||||
|
allow_blank: true,
|
||||||
|
uniqueness: { case_sensitive: false }
|
||||||
|
|
||||||
|
validates :co_author, presence: true
|
||||||
|
before_save { |coauthor| coauthor.email = email.downcase if not coauthor.email.nil?}
|
||||||
|
end
|
||||||
|
|
11
vendor/built_in_modules/personal_conference/app/models/conference_co_author_relation.rb
vendored
Normal file
11
vendor/built_in_modules/personal_conference/app/models/conference_co_author_relation.rb
vendored
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
class ConferenceCoAuthorRelation
|
||||||
|
include Mongoid::Document
|
||||||
|
include Mongoid::Timestamps
|
||||||
|
|
||||||
|
field :relation, localize: true
|
||||||
|
|
||||||
|
has_and_belongs_to_many :conference_co_authors
|
||||||
|
|
||||||
|
validates :relation, presence: true,
|
||||||
|
uniqueness: { case_sensitive: false }
|
||||||
|
end
|
|
@ -2,7 +2,7 @@
|
||||||
types = ["friend", "teacher", "student", "schoolmate", "parent", "best friend", "instructor", "labmate", "TA", "mate"]
|
types = ["friend", "teacher", "student", "schoolmate", "parent", "best friend", "instructor", "labmate", "TA", "mate"]
|
||||||
|
|
||||||
FactoryGirl.define do
|
FactoryGirl.define do
|
||||||
factory(:relations, class: "CoAuthorRelation") do |f|
|
factory(:conference_co_author_relation, class: "ConferenceCoAuthorRelation") do |f|
|
||||||
f.sequence(:relation_translations) do |n|
|
f.sequence(:relation_translations) do |n|
|
||||||
{ zh_tw: "#{types[n%types.size]}",
|
{ zh_tw: "#{types[n%types.size]}",
|
||||||
en: "#{types[n%types.size]}" }
|
en: "#{types[n%types.size]}" }
|
|
@ -8,13 +8,13 @@ email = Array.new 51,""
|
||||||
email= email.map do |p| Faker::Internet.email end
|
email= email.map do |p| Faker::Internet.email end
|
||||||
|
|
||||||
FactoryGirl.define do
|
FactoryGirl.define do
|
||||||
factory(:co_author_candidate, class: "CoAuthor") do |f|
|
factory(:conference_co_author, class: "ConferenceCoAuthor") do |f|
|
||||||
|
|
||||||
f.sequence(:co_author_translations) do |n|
|
f.sequence(:co_author_translations) do |n|
|
||||||
{ zh_tw: "#{name_tw[n]}",
|
{ zh_tw: "#{name_tw[n]}",
|
||||||
en: "#{name_en[n]}" }
|
en: "#{name_en[n]}" }
|
||||||
end
|
end
|
||||||
f.sequence(:co_author_relations_id) do |n| "#{CoAuthorRelation.all[n%CoAuthorRelation.count].id}" end
|
f.sequence(:conference_co_author_relations_id) do |n| "#{ConferenceCoAuthorRelation.all[n%ConferenceCoAuthorRelation.count].id}" end
|
||||||
f.sequence(:email) do |n| "#{email[n]}" end
|
f.sequence(:email) do |n| "#{email[n]}" end
|
||||||
f.name_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account
|
f.name_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account
|
||||||
end
|
end
|
10
vendor/built_in_modules/personal_conference/spec/factories/conference_paper_type.rb
vendored
Normal file
10
vendor/built_in_modules/personal_conference/spec/factories/conference_paper_type.rb
vendored
Normal file
|
@ -0,0 +1,10 @@
|
||||||
|
|
||||||
|
level = ["Oral","Poster"]
|
||||||
|
FactoryGirl.define do
|
||||||
|
factory(:conference_paper_type, class: "ConferencePaperType") do |f|
|
||||||
|
f.sequence(:title_translations) do |n|
|
||||||
|
{ zh_tw: "#{level[n-1]}",
|
||||||
|
en: "#{level[n-1]}" }
|
||||||
|
end
|
||||||
|
end
|
||||||
|
end
|
|
@ -1,10 +0,0 @@
|
||||||
|
|
||||||
level = ["SCI", "SCIE", "SSCI", "AH & HCI", "EI", "CSCI", "CSSCI", "TSCI", "TSSCI", "THCI"]
|
|
||||||
FactoryGirl.define do
|
|
||||||
factory(:journal_level, class: "JournalLevelType") do |f|
|
|
||||||
f.sequence(:title_translations) do |n|
|
|
||||||
{ zh_tw: "#{level[n]}",
|
|
||||||
en: "#{level[n]}" }
|
|
||||||
end
|
|
||||||
end
|
|
||||||
end
|
|
|
@ -7,7 +7,7 @@ file = ["1.png", "5.pdf", "2.png", "6.pdf", "3.png", "7.pdf", "4.png"]
|
||||||
rand = Random.new
|
rand = Random.new
|
||||||
|
|
||||||
FactoryGirl.define do
|
FactoryGirl.define do
|
||||||
factory(:upload_file, class: "WritingJournalFile") do |f|
|
factory(:writing_conference_file, class: "WritingConferenceFile") do |f|
|
||||||
f.sequence(:file) do |n|
|
f.sequence(:file) do |n|
|
||||||
File.new(File.join(Rails.root, "db" ,"files", file[rand.rand(0..6)]))
|
File.new(File.join(Rails.root, "db" ,"files", file[rand.rand(0..6)]))
|
||||||
end
|
end
|
||||||
|
|
|
@ -7,13 +7,13 @@ data_json = JSON.parse(data)
|
||||||
rand = Random.new
|
rand = Random.new
|
||||||
|
|
||||||
FactoryGirl.define do
|
FactoryGirl.define do
|
||||||
factory :paper_record, class: "WritingJournal" do |f|
|
factory :writing_conference, class: "WritingConference" do |f|
|
||||||
f.sequence(:paper_title_translations) do |n|
|
f.sequence(:paper_title_translations) do |n|
|
||||||
{ zh_tw: "#{data_json[n]["paper_title"]}_tw",
|
{ zh_tw: "#{data_json[n]["paper_title"]}_tw",
|
||||||
en: "#{data_json[n]["paper_title"]}_en" }
|
en: "#{data_json[n]["paper_title"]}_en" }
|
||||||
end
|
end
|
||||||
|
|
||||||
f.sequence(:journal_title_translations) do |n|
|
f.sequence(:conference_title_translations) do |n|
|
||||||
{zh_tw: "#{data_json[n]["booktitle"]}_tw",
|
{zh_tw: "#{data_json[n]["booktitle"]}_tw",
|
||||||
en: "#{data_json[n]["booktitle"]}_en"}
|
en: "#{data_json[n]["booktitle"]}_en"}
|
||||||
end
|
end
|
||||||
|
@ -22,10 +22,6 @@ FactoryGirl.define do
|
||||||
"#{data_json[n]["abstract"]}"
|
"#{data_json[n]["abstract"]}"
|
||||||
end
|
end
|
||||||
|
|
||||||
f.sequence(:isbn) do |n|
|
|
||||||
"#{data_json[n]["isbn"]}"
|
|
||||||
end
|
|
||||||
|
|
||||||
f.sequence(:year) do |n|
|
f.sequence(:year) do |n|
|
||||||
"#{data_json[n]["year"]}"
|
"#{data_json[n]["year"]}"
|
||||||
end
|
end
|
||||||
|
@ -34,17 +30,17 @@ FactoryGirl.define do
|
||||||
"#{data_json[n]["author"].map{|m| m.split(",").reverse.join(" ")}.join(",")}"
|
"#{data_json[n]["author"].map{|m| m.split(",").reverse.join(" ")}.join(",")}"
|
||||||
end
|
end
|
||||||
|
|
||||||
f.sequence(:form_to_start) do |n|
|
#f.sequence(:form_to_start) do |n|
|
||||||
"#{data_json[n]["page_from"]}"
|
#"#{data_json[n]["page_from"]}"
|
||||||
end
|
#end
|
||||||
|
|
||||||
f.sequence(:form_to_end) do |n|
|
#f.sequence(:form_to_end) do |n|
|
||||||
"#{data_json[n]["page_to"]}"
|
#"#{data_json[n]["page_to"]}"
|
||||||
end
|
#end
|
||||||
|
|
||||||
f.sequence(:total_pages) do |n|
|
#f.sequence(:total_pages) do |n|
|
||||||
"#{data_json[n]["total_page"]}"
|
#"#{data_json[n]["total_page"]}"
|
||||||
end
|
#end
|
||||||
|
|
||||||
f.sequence(:language) do |n|
|
f.sequence(:language) do |n|
|
||||||
"#{data_json[n]["language"]}"
|
"#{data_json[n]["language"]}"
|
||||||
|
@ -54,19 +50,19 @@ FactoryGirl.define do
|
||||||
"#{data_json[n]["abstract"].split[-3..-1].join(",")}"
|
"#{data_json[n]["abstract"].split[-3..-1].join(",")}"
|
||||||
end
|
end
|
||||||
|
|
||||||
f.sequence(:journal_level_types) do |n|
|
f.sequence(:conference_paper_types) do |n|
|
||||||
level = []
|
level = []
|
||||||
total_levels = rand.rand(1..JournalLevelType.count)
|
total_levels = rand.rand(0..ConferencePaperType.count-1)
|
||||||
total_levels.times do
|
total_levels.times do
|
||||||
level << JournalLevelType.all[rand.rand(0..JournalLevelType.count-1)]
|
level << ConferencePaperType.all[rand.rand(0..ConferencePaperType.count-1)]
|
||||||
end
|
end
|
||||||
level.uniq
|
level.uniq
|
||||||
end
|
end
|
||||||
|
|
||||||
f.sequence(:writing_journal_files) do |n|
|
f.sequence(:writing_conference_files) do |n|
|
||||||
files = []
|
files = []
|
||||||
total_files = rand.rand(1..7)
|
total_files = rand.rand(1..7)
|
||||||
total_files.times do files << FactoryGirl.create(:upload_file) end
|
total_files.times do files << FactoryGirl.create(:writing_conference_file) end
|
||||||
files
|
files
|
||||||
end
|
end
|
||||||
f.create_user_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account
|
f.create_user_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account
|
||||||
|
|
Loading…
Reference in New Issue