friendly_id 5.6.0 → 5.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/test/sti_test.rb DELETED
@@ -1,135 +0,0 @@
1
- require "helper"
2
-
3
- class StiTest < TestCaseClass
4
- include FriendlyId::Test
5
- include FriendlyId::Test::Shared::Core
6
- include FriendlyId::Test::Shared::Slugged
7
-
8
- class Journalist < ActiveRecord::Base
9
- extend FriendlyId
10
- friendly_id :name, use: [:slugged]
11
- end
12
-
13
- class Editorialist < Journalist
14
- end
15
-
16
- def model_class
17
- Editorialist
18
- end
19
-
20
- test "friendly_id should accept a base and a hash with single table inheritance" do
21
- abstract_klass = Class.new(ActiveRecord::Base) do
22
- def self.table_exists?
23
- false
24
- end
25
- extend FriendlyId
26
- friendly_id :foo, use: :slugged, slug_column: :bar
27
- end
28
- klass = Class.new(abstract_klass)
29
- assert klass < FriendlyId::Slugged
30
- assert_equal :foo, klass.friendly_id_config.base
31
- assert_equal :bar, klass.friendly_id_config.slug_column
32
- end
33
-
34
- test "the configuration's model_class should be the class, not the base_class" do
35
- assert_equal model_class, model_class.friendly_id_config.model_class
36
- end
37
-
38
- test "friendly_id should accept a block with single table inheritance" do
39
- abstract_klass = Class.new(ActiveRecord::Base) do
40
- def self.table_exists?
41
- false
42
- end
43
- extend FriendlyId
44
- friendly_id :foo do |config|
45
- config.use :slugged
46
- config.base = :foo
47
- config.slug_column = :bar
48
- end
49
- end
50
- klass = Class.new(abstract_klass)
51
- assert klass < FriendlyId::Slugged
52
- assert_equal :foo, klass.friendly_id_config.base
53
- assert_equal :bar, klass.friendly_id_config.slug_column
54
- end
55
-
56
- test "friendly_id slugs should not clash with each other" do
57
- transaction do
58
- journalist = model_class.base_class.create! name: "foo bar"
59
- editoralist = model_class.create! name: "foo bar"
60
-
61
- assert_equal "foo-bar", journalist.slug
62
- assert_match(/foo-bar-.+/, editoralist.slug)
63
- end
64
- end
65
- end
66
-
67
- class StiTestWithHistory < StiTest
68
- class Journalist < ActiveRecord::Base
69
- extend FriendlyId
70
- friendly_id :name, use: [:slugged, :history]
71
- end
72
-
73
- class Editorialist < Journalist
74
- end
75
-
76
- def model_class
77
- Editorialist
78
- end
79
- end
80
-
81
- class StiTestWithFinders < TestCaseClass
82
- include FriendlyId::Test
83
-
84
- class Journalist < ActiveRecord::Base
85
- extend FriendlyId
86
- friendly_id :name, use: [:slugged, :finders]
87
- end
88
-
89
- class Editorialist < Journalist
90
- extend FriendlyId
91
- friendly_id :name, use: [:slugged, :finders]
92
- end
93
-
94
- def model_class
95
- Editorialist
96
- end
97
-
98
- test "friendly_id slugs should be looked up from subclass with friendly" do
99
- transaction do
100
- editoralist = model_class.create! name: "foo bar"
101
- assert_equal editoralist, model_class.friendly.find(editoralist.slug)
102
- end
103
- end
104
-
105
- test "friendly_id slugs should be looked up from subclass" do
106
- transaction do
107
- editoralist = model_class.create! name: "foo bar"
108
- assert_equal editoralist, model_class.find(editoralist.slug)
109
- end
110
- end
111
- end
112
-
113
- class StiTestSubClass < TestCaseClass
114
- include FriendlyId::Test
115
-
116
- class Journalist < ActiveRecord::Base
117
- extend FriendlyId
118
- end
119
-
120
- class Editorialist < Journalist
121
- extend FriendlyId
122
- friendly_id :name, use: [:slugged, :finders]
123
- end
124
-
125
- def model_class
126
- Editorialist
127
- end
128
-
129
- test "friendly_id slugs can be created and looked up from subclass" do
130
- transaction do
131
- editoralist = model_class.create! name: "foo bar"
132
- assert_equal editoralist, model_class.find(editoralist.slug)
133
- end
134
- end
135
- end