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
|
||||
|
||||
|
||||
CoAuthorRelation.destroy_all
|
||||
CoAuthor.destroy_all
|
||||
JournalLevelType.destroy_all
|
||||
WritingJournalFile.destroy_all
|
||||
WritingJournal.destroy_all
|
||||
ConferenceCoAuthorRelation.destroy_all
|
||||
ConferenceCoAuthor.destroy_all
|
||||
ConferencePaperType.destroy_all
|
||||
WritingConferenceFile.destroy_all
|
||||
WritingConference.destroy_all
|
||||
#Dir[Rails.root.join("spec/factories/*.rb")].each {|f| require f}
|
||||
|
||||
|
||||
10.size.times do
|
||||
FactoryGirl.create(:journal_level)
|
||||
2.times do
|
||||
FactoryGirl.create(:conference_paper_type)
|
||||
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
|
||||
|
||||
10.size.times do
|
||||
FactoryGirl.create(:conference_level)
|
||||
end
|
||||
|
||||
10.times do
|
||||
FactoryGirl.create(:conference_relation)
|
||||
end
|
||||
|
||||
50.times do
|
||||
FactoryGirl.create(:conference)
|
||||
FactoryGirl.create(:conference_co_author_relation)
|
||||
end
|
||||
|
||||
50.times do
|
||||
FactoryGirl.create(:conference_co_author)
|
||||
end
|
||||
|
||||
50.times do
|
||||
FactoryGirl.create(:writing_conference)
|
||||
end
|
||||
|
||||
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"]
|
||||
|
||||
FactoryGirl.define do
|
||||
factory(:relations, class: "CoAuthorRelation") do |f|
|
||||
factory(:conference_co_author_relation, class: "ConferenceCoAuthorRelation") do |f|
|
||||
f.sequence(:relation_translations) do |n|
|
||||
{ zh_tw: "#{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
|
||||
|
||||
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|
|
||||
{ zh_tw: "#{name_tw[n]}",
|
||||
en: "#{name_en[n]}" }
|
||||
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.name_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account
|
||||
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
|
||||
|
||||
FactoryGirl.define do
|
||||
factory(:upload_file, class: "WritingJournalFile") do |f|
|
||||
factory(:writing_conference_file, class: "WritingConferenceFile") do |f|
|
||||
f.sequence(:file) do |n|
|
||||
File.new(File.join(Rails.root, "db" ,"files", file[rand.rand(0..6)]))
|
||||
end
|
||||
|
|
|
@ -7,13 +7,13 @@ data_json = JSON.parse(data)
|
|||
rand = Random.new
|
||||
|
||||
FactoryGirl.define do
|
||||
factory :paper_record, class: "WritingJournal" do |f|
|
||||
factory :writing_conference, class: "WritingConference" do |f|
|
||||
f.sequence(:paper_title_translations) do |n|
|
||||
{ zh_tw: "#{data_json[n]["paper_title"]}_tw",
|
||||
en: "#{data_json[n]["paper_title"]}_en" }
|
||||
end
|
||||
|
||||
f.sequence(:journal_title_translations) do |n|
|
||||
f.sequence(:conference_title_translations) do |n|
|
||||
{zh_tw: "#{data_json[n]["booktitle"]}_tw",
|
||||
en: "#{data_json[n]["booktitle"]}_en"}
|
||||
end
|
||||
|
@ -22,10 +22,6 @@ FactoryGirl.define do
|
|||
"#{data_json[n]["abstract"]}"
|
||||
end
|
||||
|
||||
f.sequence(:isbn) do |n|
|
||||
"#{data_json[n]["isbn"]}"
|
||||
end
|
||||
|
||||
f.sequence(:year) do |n|
|
||||
"#{data_json[n]["year"]}"
|
||||
end
|
||||
|
@ -34,17 +30,17 @@ FactoryGirl.define do
|
|||
"#{data_json[n]["author"].map{|m| m.split(",").reverse.join(" ")}.join(",")}"
|
||||
end
|
||||
|
||||
f.sequence(:form_to_start) do |n|
|
||||
"#{data_json[n]["page_from"]}"
|
||||
end
|
||||
#f.sequence(:form_to_start) do |n|
|
||||
#"#{data_json[n]["page_from"]}"
|
||||
#end
|
||||
|
||||
f.sequence(:form_to_end) do |n|
|
||||
"#{data_json[n]["page_to"]}"
|
||||
end
|
||||
#f.sequence(:form_to_end) do |n|
|
||||
#"#{data_json[n]["page_to"]}"
|
||||
#end
|
||||
|
||||
f.sequence(:total_pages) do |n|
|
||||
"#{data_json[n]["total_page"]}"
|
||||
end
|
||||
#f.sequence(:total_pages) do |n|
|
||||
#"#{data_json[n]["total_page"]}"
|
||||
#end
|
||||
|
||||
f.sequence(:language) do |n|
|
||||
"#{data_json[n]["language"]}"
|
||||
|
@ -54,19 +50,19 @@ FactoryGirl.define do
|
|||
"#{data_json[n]["abstract"].split[-3..-1].join(",")}"
|
||||
end
|
||||
|
||||
f.sequence(:journal_level_types) do |n|
|
||||
f.sequence(:conference_paper_types) do |n|
|
||||
level = []
|
||||
total_levels = rand.rand(1..JournalLevelType.count)
|
||||
total_levels = rand.rand(0..ConferencePaperType.count-1)
|
||||
total_levels.times do
|
||||
level << JournalLevelType.all[rand.rand(0..JournalLevelType.count-1)]
|
||||
level << ConferencePaperType.all[rand.rand(0..ConferencePaperType.count-1)]
|
||||
end
|
||||
level.uniq
|
||||
end
|
||||
|
||||
f.sequence(:writing_journal_files) do |n|
|
||||
f.sequence(:writing_conference_files) do |n|
|
||||
files = []
|
||||
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
|
||||
end
|
||||
f.create_user_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account
|
||||
|
|
Reference in New Issue