Skip to content

Commit a5b5c09

Browse files
committed
move test model language attribute to an associated entity
1 parent 463db0f commit a5b5c09

File tree

7 files changed

+29
-4
lines changed

7 files changed

+29
-4
lines changed

test/activerecord_provider/database/0001_oaipmh_tables.rb

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,12 @@ def self.up
1010
t.column :oai_token_id, :integer, :null => false
1111
end
1212

13+
create_table :dc_langs do |t|
14+
t.column :name, :string
15+
t.column :updated_at, :datetime
16+
t.column :created_at, :datetime
17+
end
18+
1319
dc_fields = proc do |t|
1420
t.column :title, :string
1521
t.column :creator, :string
@@ -21,7 +27,7 @@ def self.up
2127
t.column :type, :string
2228
t.column :format, :string
2329
t.column :source, :string
24-
t.column :language, :string
30+
t.column :dc_lang_id, :integer
2531
t.column :relation, :string
2632
t.column :coverage, :string
2733
t.column :rights, :string

test/activerecord_provider/helpers/providers.rb

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,11 +56,13 @@ def self.load
5656
File.join(File.dirname(__FILE__), '..', 'fixtures', 'dc.yml')
5757
)
5858
fixtures.keys.sort.each do |key|
59-
DCField.create(fixtures[key])
59+
lang = DCLang.create(name: fixtures[key].delete('language'))
60+
DCField.create(fixtures[key].merge(dc_lang: lang))
6061
end
6162
end
6263

6364
def self.unload
6465
DCField.delete_all
66+
DCLang.delete_all
6567
end
6668
end

test/activerecord_provider/helpers/transactional_test_case.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ def load_fixtures
1919
)
2020
disable_logging do
2121
fixtures.keys.sort.each do |key|
22-
DCField.create(fixtures[key])
22+
lang = DCLang.create(name: fixtures[key].delete('language'))
23+
DCField.create(fixtures[key].merge(dc_lang: lang))
2324
end
2425
end
2526
end

test/activerecord_provider/models/dc_field.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,4 +4,10 @@ class DCField < ActiveRecord::Base
44
:join_table => "dc_fields_dc_sets",
55
:foreign_key => "dc_field_id",
66
:class_name => "DCSet"
7+
8+
belongs_to :dc_lang, class_name: "DCLang", optional: true
9+
10+
def language
11+
dc_lang&.name
12+
end
713
end
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
class DCLang < ActiveRecord::Base
2+
has_many :dc_fields
3+
end

test/activerecord_provider/models/exclusive_set_dc_field.rb

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,10 @@ def self.sets
88
end
99
end
1010

11+
belongs_to :dc_lang, class_name: "DCLang", optional: true
12+
13+
def language
14+
dc_lang&.name
15+
end
16+
1117
end

test/activerecord_provider/tc_ar_sets_provider.rb

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -150,7 +150,8 @@ def load_fixtures
150150
)
151151
disable_logging do
152152
fixtures.keys.sort.each do |key|
153-
ExclusiveSetDCField.create(fixtures[key])
153+
lang = DCLang.create(name: fixtures[key].delete('language'))
154+
ExclusiveSetDCField.create(fixtures[key].merge(dc_lang: lang))
154155
end
155156
end
156157
end

0 commit comments

Comments
 (0)