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 | ||||||
|  |  | ||||||
		Reference in New Issue