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
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
<div class="toolbar hh2">
|
<div class="toolbar hh2">
|
||||||
<div class="fn_g hp">
|
<div class="fn_g hp">
|
||||||
<%= link_to "New Co-Author", new_desktop_co_author_path, :class=>"bt-co-author fn_btn hp hh2 thmc2 thmtxt" %>
|
<%= link_to "New Co-Author", new_desktop_co_author_path, :class=>"bt-co-author fn_btn hp hh2 thmc2 thmtxt" %>
|
||||||
<%= link_to "New Type", desktop_co_author_relations_path, :class=>"bt-new-type fn_btn hp hh2 thmc2 thmtxt" %>
|
<%= link_to "New Type", desktop_co_author_relations_path, :class=>"bt-new-type fn_btn hp hh2 thmc2 thmtxt" %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -31,4 +31,4 @@
|
||||||
<% end %>
|
<% end %>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
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
|
||||||
|
|
|
@ -56,4 +56,4 @@ end
|
||||||
# - Any code that is left outside of the blocks will be ran during preforking
|
# - Any code that is left outside of the blocks will be ran during preforking
|
||||||
# and during each_run!
|
# and during each_run!
|
||||||
# - These instructions should self-destruct in 10 seconds. If they don't,
|
# - These instructions should self-destruct in 10 seconds. If they don't,
|
||||||
# feel free to delete them.
|
# feel free to delete them.
|
||||||
|
|
Reference in New Issue