make factory girl file clean
This commit is contained in:
		
							parent
							
								
									59c4080f0c
								
							
						
					
					
						commit
						a84cb560a0
					
				
							
								
								
									
										2
									
								
								Gemfile
								
								
								
								
							
							
						
						
									
										2
									
								
								Gemfile
								
								
								
								
							| 
						 | 
					@ -88,7 +88,7 @@ group :test, :development do
 | 
				
			||||||
  gem "delorean"
 | 
					  gem "delorean"
 | 
				
			||||||
  gem "watchr"
 | 
					  gem "watchr"
 | 
				
			||||||
  gem "spork"
 | 
					  gem "spork"
 | 
				
			||||||
  # gem "capybara"
 | 
					  gem "capybara"
 | 
				
			||||||
  # gem 'yard'
 | 
					  # gem 'yard'
 | 
				
			||||||
  # gem "bluecloth"
 | 
					  # gem "bluecloth"
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										135
									
								
								db/seeds.rb
								
								
								
								
							
							
						
						
									
										135
									
								
								db/seeds.rb
								
								
								
								
							| 
						 | 
					@ -1,143 +1,14 @@
 | 
				
			||||||
require 'factory_girl'
 | 
					require 'factory_girl'
 | 
				
			||||||
require 'faker'
 | 
					require 'faker'
 | 
				
			||||||
require 'json'
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
CoAuthor.destroy_all
 | 
					#Dir[Rails.root.join("spec/factories/*.rb")].each {|f| require f}
 | 
				
			||||||
CoAuthorRelation.destroy_all
 | 
					 | 
				
			||||||
WritingJournal.destroy_all
 | 
					 | 
				
			||||||
WritingJournalFile.destroy_all
 | 
					 | 
				
			||||||
JournalLevelType.destroy_all
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
data = File.read("db/data")
 | 
					10.times do
 | 
				
			||||||
data_json = JSON.parse(data)
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
name_tw = Array.new 51,""
 | 
					 | 
				
			||||||
name_tw = name_tw.map do |p| Faker::Name::name end
 | 
					 | 
				
			||||||
name_en = Array.new 51,""
 | 
					 | 
				
			||||||
name_en = name_en.map do |p| Faker::Name::name end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
email = Array.new 51,""
 | 
					 | 
				
			||||||
email= email.map do |p| Faker::Internet.email end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
type = ["friend", "teacher", "student", "schoolmate", "parent", "best friend", "instructor", "labmate", "TA", "mate"]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
file_desc = Array.new 7, ""
 | 
					 | 
				
			||||||
file_desc = file_desc.map do |p| Faker::Lorem.word end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
file = ["1.png", "5.pdf", "2.png", "6.pdf", "3.png", "7.pdf", "4.png"]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
level = ["SCI", "SCIE", "SSCI", "AH & HCI", "EI", "CSCI", "CSSCI", "TSCI", "TSSCI", "THCI"]
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
rand = Random.new
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  factory(:upload_file, class: "WritingJournalFile") do |f|
 | 
					 | 
				
			||||||
    f.sequence(:file) do |n|
 | 
					 | 
				
			||||||
      File.new(File.join(Rails.root, "db" ,"files", file[rand.rand(0..6)]))
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
    f.sequence(:title) do |n|
 | 
					 | 
				
			||||||
      "#{file_desc[rand.rand(0..6)]}"
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  factory(:type, class: "CoAuthorRelation") do |f|
 | 
					 | 
				
			||||||
    f.sequence(:relation_translations) do |n|
 | 
					 | 
				
			||||||
      { zh_tw: "#{type[n%type.size]}",
 | 
					 | 
				
			||||||
            en: "#{type[n%type.size]}" }
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  factory(:co_author_candidate, class: "CoAuthor")  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%type.size].id}" end
 | 
					 | 
				
			||||||
    f.sequence(:email) do |n| "#{email[n]}" end
 | 
					 | 
				
			||||||
    f.name_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
  factory :paper_record, class: "WritingJournal"  do |f|
 | 
					 | 
				
			||||||
    f.sequence(:paper_title_translations) do |n|
 | 
					 | 
				
			||||||
      { zh_tw: "tw_#{data_json[n]["paper_title"]}",
 | 
					 | 
				
			||||||
            en: "en_#{data_json[n]["paper_title"]}" }
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    f.sequence(:journal_title_translations) do |n|
 | 
					 | 
				
			||||||
      {zh_tw:  "tw_#{data_json[n]["booktitle"]}",
 | 
					 | 
				
			||||||
            en: "en_#{data_json[n]["booktitle"]}"}
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    f.sequence(:abstract) do |n|
 | 
					 | 
				
			||||||
      "#{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
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    f.sequence(:authors) do |n|
 | 
					 | 
				
			||||||
      "#{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_end) do |n|
 | 
					 | 
				
			||||||
      "#{data_json[n]["page_to"]}"
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    f.sequence(:total_pages) do |n|
 | 
					 | 
				
			||||||
      "#{data_json[n]["total_page"]}"
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    f.sequence(:language) do |n|
 | 
					 | 
				
			||||||
      "#{data_json[n]["language"]}"
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    f.sequence(:keywords) do |n|
 | 
					 | 
				
			||||||
      "#{data_json[n]["abstract"].split[-3..-1].join(",")}"
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    f.sequence(:journal_level_types) do |n|
 | 
					 | 
				
			||||||
      level = []
 | 
					 | 
				
			||||||
      total_levels = rand.rand(1..JournalLevelType.count)
 | 
					 | 
				
			||||||
      total_levels.times do
 | 
					 | 
				
			||||||
        level << JournalLevelType.all[rand.rand(0..JournalLevelType.count-1)]
 | 
					 | 
				
			||||||
      end
 | 
					 | 
				
			||||||
      level.uniq
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    f.sequence(:writing_journal_files) do |n|
 | 
					 | 
				
			||||||
      files = []
 | 
					 | 
				
			||||||
      total_files = rand.rand(1..7)
 | 
					 | 
				
			||||||
      total_files.times do files << FactoryGirl.create(:upload_file) end
 | 
					 | 
				
			||||||
      files
 | 
					 | 
				
			||||||
    end
 | 
					 | 
				
			||||||
    f.create_user_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account
 | 
					 | 
				
			||||||
    f.update_user_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account
 | 
					 | 
				
			||||||
  end
 | 
					 | 
				
			||||||
end
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
(level.size - 1).times do 
 | 
					 | 
				
			||||||
  FactoryGirl.create(:journal_level)
 | 
					  FactoryGirl.create(:journal_level)
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
10.times do
 | 
					10.times do
 | 
				
			||||||
  FactoryGirl.create(:type)
 | 
					  FactoryGirl.create(:relations)
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
50.times do
 | 
					50.times do
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,12 @@
 | 
				
			||||||
 | 
					CoAuthorRelation.destroy_all
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					types = ["friend", "teacher", "student", "schoolmate", "parent", "best friend", "instructor", "labmate", "TA", "mate"]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FactoryGirl.define do
 | 
				
			||||||
 | 
					  factory(:relations, class: "CoAuthorRelation") do |f|
 | 
				
			||||||
 | 
					    f.sequence(:relation_translations) do |n|
 | 
				
			||||||
 | 
					      { zh_tw: "#{types[n%types.size]}",
 | 
				
			||||||
 | 
					            en: "#{types[n%types.size]}" }
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,22 @@
 | 
				
			||||||
 | 
					CoAuthor.destroy_all
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					name_tw = Array.new 51,""
 | 
				
			||||||
 | 
					name_tw = name_tw.map do |p| Faker::Name::name end
 | 
				
			||||||
 | 
					name_en = Array.new 51,""
 | 
				
			||||||
 | 
					name_en = name_en.map do |p| Faker::Name::name end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					email = Array.new 51,""
 | 
				
			||||||
 | 
					email= email.map do |p| Faker::Internet.email end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FactoryGirl.define do
 | 
				
			||||||
 | 
					  factory(:co_author_candidate, class: "CoAuthor")  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(:email) do |n| "#{email[n]}" end
 | 
				
			||||||
 | 
					    f.name_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,12 @@
 | 
				
			||||||
 | 
					JournalLevelType.destroy_all
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,19 @@
 | 
				
			||||||
 | 
					WritingJournalFile.destroy_all
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					file_desc = Array.new 7, ""
 | 
				
			||||||
 | 
					file_desc = file_desc.map do |p| Faker::Lorem.word end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					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|
 | 
				
			||||||
 | 
					    f.sequence(:file) do |n|
 | 
				
			||||||
 | 
					      File.new(File.join(Rails.root, "db" ,"files", file[rand.rand(0..6)]))
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					    f.sequence(:title) do |n|
 | 
				
			||||||
 | 
					      "#{file_desc[rand.rand(0..6)]}"
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					end
 | 
				
			||||||
| 
						 | 
					@ -0,0 +1,76 @@
 | 
				
			||||||
 | 
					require 'json'
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					WritingJournal.destroy_all
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					data = File.read("#{Rails.root}/db/data")
 | 
				
			||||||
 | 
					data_json = JSON.parse(data)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					rand = Random.new
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					FactoryGirl.define do
 | 
				
			||||||
 | 
					  factory :paper_record, class: "WritingJournal"  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|
 | 
				
			||||||
 | 
					      {zh_tw:  "#{data_json[n]["booktitle"]}_tw",
 | 
				
			||||||
 | 
					            en: "#{data_json[n]["booktitle"]}_en"}
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    f.sequence(:abstract) do |n|
 | 
				
			||||||
 | 
					      "#{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
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    f.sequence(:authors) do |n|
 | 
				
			||||||
 | 
					      "#{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_end) do |n|
 | 
				
			||||||
 | 
					      "#{data_json[n]["page_to"]}"
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    f.sequence(:total_pages) do |n|
 | 
				
			||||||
 | 
					      "#{data_json[n]["total_page"]}"
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    f.sequence(:language) do |n|
 | 
				
			||||||
 | 
					      "#{data_json[n]["language"]}"
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    f.sequence(:keywords) do |n|
 | 
				
			||||||
 | 
					      "#{data_json[n]["abstract"].split[-3..-1].join(",")}"
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    f.sequence(:journal_level_types) do |n|
 | 
				
			||||||
 | 
					      level = []
 | 
				
			||||||
 | 
					      total_levels = rand.rand(1..JournalLevelType.count)
 | 
				
			||||||
 | 
					      total_levels.times do
 | 
				
			||||||
 | 
					        level << JournalLevelType.all[rand.rand(0..JournalLevelType.count-1)]
 | 
				
			||||||
 | 
					      end
 | 
				
			||||||
 | 
					      level.uniq
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    f.sequence(:writing_journal_files) do |n|
 | 
				
			||||||
 | 
					      files = []
 | 
				
			||||||
 | 
					      total_files = rand.rand(1..7)
 | 
				
			||||||
 | 
					      total_files.times do files << FactoryGirl.create(:upload_file) end
 | 
				
			||||||
 | 
					      files
 | 
				
			||||||
 | 
					    end
 | 
				
			||||||
 | 
					    f.create_user_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account
 | 
				
			||||||
 | 
					    f.update_user_id BSON::ObjectId('4f45f3b9e9d02c5db9000067') #user_id, this is Chris' account
 | 
				
			||||||
 | 
					  end
 | 
				
			||||||
 | 
					 end
 | 
				
			||||||
| 
						 | 
					@ -4,8 +4,8 @@ describe "Co-Author pages" do
 | 
				
			||||||
  subject {co-author}
 | 
					  subject {co-author}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  describe "Co-Author list" do
 | 
					  describe "Co-Author list" do
 | 
				
			||||||
    before { visit desktop_co_authors }
 | 
					    before { visit desktop_co_authors_path }
 | 
				
			||||||
    it { should have_selector('a',    text: 'New Co-Author') }
 | 
					    it { should have_selector('a', text: "New Co-Author") }
 | 
				
			||||||
  end
 | 
					  end
 | 
				
			||||||
 | 
					
 | 
				
			||||||
end
 | 
					end
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue