lportal 1.0.9 → 1.0.17
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/ChangeLog +71 -0
- data/MIT-LICENSE +20 -0
- data/README +6 -5
- data/Rakefile +23 -0
- data/init.rb +1 -1
- data/lib/acts/resourceful.rb +104 -0
- data/lib/company.rb +25 -0
- data/lib/group.rb +83 -29
- data/lib/journal/article.rb +8 -4
- data/lib/mb/category.rb +30 -59
- data/lib/mb/message.rb +24 -67
- data/lib/permission.rb +16 -0
- data/lib/release.rb +9 -0
- data/lib/resource.rb +19 -0
- data/lib/resource_code.rb +21 -1
- data/lib/role.rb +7 -27
- data/lib/tag/asset.rb +26 -4
- data/lib/user.rb +20 -23
- data/lib/web/layout.rb +134 -39
- data/lib/web/layout_set.rb +8 -4
- data/lib/web/portlet.rb +92 -20
- data/lib/web/portlet_preferences.rb +176 -13
- data/lib/web/portlet_properties.rb +32 -0
- data/lib/web/typesettings.rb +32 -7
- data/lportal.rb +30 -3
- data/migrations/20090101000001_add_sequences.rb +64 -0
- data/migrations/20090309000001_portlet_properties.rb +19 -0
- data/portlets.rb +76 -0
- data/schema.rb +34 -0
- data/test/unit/company_test.rb +21 -9
- data/test/unit/dl_file_test.rb +2 -1
- data/test/unit/group_test.rb +74 -16
- data/test/unit/journal/article_test.rb +15 -1
- data/test/unit/mb/category_test.rb +12 -15
- data/test/unit/mb/message_test.rb +3 -2
- data/test/unit/mb/thread_test.rb +1 -1
- data/test/unit/organization_test.rb +7 -2
- data/test/unit/phone_test.rb +2 -0
- data/test/unit/release_test.rb +25 -0
- data/test/unit/role_test.rb +7 -7
- data/test/unit/tag/asset_test.rb +59 -2
- data/test/unit/user_test.rb +73 -77
- data/test/unit/web/layout_set_test.rb +18 -1
- data/test/unit/web/layout_test.rb +191 -5
- data/test/unit/web/portlet_preferences_test.rb +314 -17
- data/test/unit/web/portlet_properties_test.rb +36 -0
- data/test/unit/web/portlet_test.rb +121 -19
- data/test/unit/web/typesettings_test.rb +24 -11
- data/version.rb +1 -2
- metadata +20 -6
- data/install.rb +0 -1
@@ -1,49 +1,346 @@
|
|
1
1
|
require 'test_helper'
|
2
2
|
|
3
|
+
# Beware, these tests are slow due to the amount of portletpreferences
|
4
|
+
|
3
5
|
class Web::PortletPreferencesTest < ActiveSupport::TestCase
|
4
|
-
fixtures
|
6
|
+
fixtures [
|
7
|
+
:portletpreferences, :portlet, :layout, :portletproperties
|
8
|
+
]
|
5
9
|
|
6
10
|
def setup
|
7
11
|
@prefs = Web::PortletPreferences.all
|
12
|
+
@portlet = Web::Portlet.first
|
13
|
+
flunk 'no portlet to test on' unless @portlet
|
14
|
+
@layout = Web::Layout.first
|
15
|
+
flunk 'no layout to test on' unless @layout
|
8
16
|
end
|
9
17
|
|
10
|
-
#
|
11
|
-
#
|
12
|
-
#
|
13
|
-
#
|
14
|
-
#
|
15
|
-
#
|
16
|
-
#
|
18
|
+
# def test_create
|
19
|
+
# portlet = Web::Portlet.find_by_name('login')
|
20
|
+
# prefs = Web::PortletPreferences.create(
|
21
|
+
# :portlet => portlet
|
22
|
+
# )
|
23
|
+
# assert_not_nil prefs
|
24
|
+
# assert_equal portlet.portletid, prefs.portletid
|
25
|
+
# end
|
26
|
+
|
27
|
+
|
28
|
+
# def test_debug
|
29
|
+
# ### autom. luonti
|
30
|
+
# # user = User.find 13904
|
31
|
+
# # user = User.find 10201
|
32
|
+
# group = Group.find 10196
|
33
|
+
#
|
34
|
+
#
|
35
|
+
# # Teemat
|
36
|
+
# # ls = group.public_layoutset
|
37
|
+
# # puts ls.themeid
|
38
|
+
# # # ls.themeid = 'classicneuvonta_WAR_classicneuvontatheme'
|
39
|
+
# # # ls.save
|
40
|
+
# #
|
41
|
+
# # ly = group.public_layouts
|
42
|
+
# # puts ly.inspect
|
43
|
+
# # # puts ly.collect(&:portlets).inspect
|
44
|
+
# # exit 0
|
45
|
+
# # create a new public layout for this group
|
46
|
+
# # layout = Web::Layout.create(
|
47
|
+
# # :group => group,
|
48
|
+
# # :privatelayout => false,
|
49
|
+
# # :name => 'Keskustelut'
|
50
|
+
# # )
|
51
|
+
#
|
52
|
+
#
|
53
|
+
# # COPY layout (plid, groupid, companyid, privatelayout, layoutid, parentlayoutid, name, title, description, type_, typesettings, hidden_, friendlyurl, iconimage, iconimageid, themeid, colorschemeid, wapthemeid, wapcolorschemeid, css, priority, dlfolderid) FROM stdin;
|
54
|
+
# # +10264 10198 10178 f 3 0 <?xml version='1.0' encoding='UTF-8'?><root available-locales="en_US" default-locale="en_US"><name language-id="en_US">Yhteisöt</name></root> <root /> portlet layout-template-id=1_column\ncolumn-1=guidance_communities_INSTANCE_Hs9t f /yhteisot f 0 2 0
|
55
|
+
#
|
56
|
+
# # layout = Web::Layout.find 8400003
|
57
|
+
# # layout = Web::Layout.find 8400002
|
58
|
+
# # layout = Web::Layout.find 8400001
|
59
|
+
# # _l = Web::Layout.find 25871
|
60
|
+
# # layout = Web::Layout.find 25907
|
61
|
+
# layout = Web::Layout.find 10199
|
62
|
+
# assert_not_nil layout
|
63
|
+
#
|
64
|
+
# # layout.portlets =
|
65
|
+
# # _ts = layout.typesettings
|
66
|
+
#
|
67
|
+
# puts layout.inspect
|
68
|
+
#
|
69
|
+
# # puts layout.settings.inspect
|
70
|
+
# # puts layout.portlets.inspect
|
71
|
+
# # puts layout.portlets.first.inspect
|
72
|
+
# # exit 0
|
73
|
+
#
|
74
|
+
# puts
|
75
|
+
#
|
76
|
+
#
|
77
|
+
# ### instantiate a rails portlet as Web::Portlet
|
78
|
+
# portlet = Web::Portlet.find_caterpillar_portlet :guidance_communities
|
79
|
+
# assert_not_nil portlet
|
80
|
+
#
|
81
|
+
# ### find a Liferay portlet (hello world) but do not instantiate
|
82
|
+
# # portlet = Web::Portlet.create(
|
83
|
+
# # :portletid => '47',
|
84
|
+
# # :instantiate => false
|
85
|
+
# # )
|
86
|
+
#
|
87
|
+
# portlet.companyid = group.companyid
|
88
|
+
# portlet.group = group
|
89
|
+
# puts portlet.inspect
|
90
|
+
#
|
91
|
+
# ############################
|
92
|
+
#
|
93
|
+
# puts
|
94
|
+
#
|
95
|
+
# # COPY portletpreferences (portletpreferencesid, ownerid, ownertype, plid, portletid, preferences) FROM stdin;
|
96
|
+
# # +10267 0 3 10264 guidance_communities_INSTANCE_Hs9t <portlet-preferences />
|
97
|
+
#
|
98
|
+
# ### instance preferences
|
99
|
+
# prefs = portlet.preferences()
|
100
|
+
# assert_not_nil prefs
|
101
|
+
# assert prefs.portletid[/INSTANCE/]
|
102
|
+
#
|
103
|
+
# # prefs = Web::PortletPreferences.create(:portletid => '47')
|
104
|
+
# # define the layout
|
105
|
+
# prefs.plid = layout.plid
|
106
|
+
#
|
107
|
+
# prefs.save
|
108
|
+
# puts prefs.inspect
|
109
|
+
# ############################
|
110
|
+
#
|
111
|
+
# puts
|
112
|
+
#
|
113
|
+
# ### insert PortletPreferences into Typesettings
|
114
|
+
# ts = layout.settings
|
115
|
+
# assert_not_nil ts
|
116
|
+
# ts.columns = 1
|
117
|
+
# #<Web::Typesettings:0x7fdcc57985e8 @template_id="1_column", @portlets={}>
|
118
|
+
#
|
119
|
+
# ts.portlets = {1 => [prefs]}
|
120
|
+
# puts ts.inspect
|
121
|
+
# puts ts.to_s
|
122
|
+
# layout.settings = ts
|
123
|
+
# layout.save
|
124
|
+
# # puts layout.inspect
|
125
|
+
# ############################
|
126
|
+
#
|
127
|
+
# puts
|
128
|
+
#
|
129
|
+
#
|
130
|
+
# # COPY resourcecode (codeid, companyid, name, scope) FROM stdin;
|
131
|
+
# # +111 10178 guidance_communities 4
|
132
|
+
# # +112 10178 guidance_communities 1
|
133
|
+
# # +113 10178 guidance_communities 2
|
134
|
+
#
|
135
|
+
# # COPY resource_ (resourceid, codeid, primkey) FROM stdin;
|
136
|
+
# # +137 112 10178
|
137
|
+
# # +138 113 10198
|
138
|
+
# # +139 111 10264_LAYOUT_guidance_communities_INSTANCE_Hs9t
|
139
|
+
#
|
140
|
+
# [1,2,4].each do |scope|
|
141
|
+
# rc = portlet.resource_code(scope)
|
142
|
+
# assert_not_nil rc
|
143
|
+
# assert_equal group.companyid, rc.companyid
|
144
|
+
# assert_equal portlet.name, rc.name
|
145
|
+
#
|
146
|
+
# r = portlet.find_resource(:scope => scope)
|
147
|
+
# assert_not_nil r
|
148
|
+
# assert_equal r.codeid, rc.id
|
149
|
+
# case scope
|
150
|
+
# when 1
|
151
|
+
# assert_equal group.companyid, r.primkey
|
152
|
+
# when 2
|
153
|
+
# assert_equal group.id, r.primkey
|
154
|
+
# when 4
|
155
|
+
# assert_equal prefs.primkey, r.primkey
|
17
156
|
# end
|
157
|
+
# end
|
158
|
+
#
|
159
|
+
#
|
160
|
+
# # COPY permission_ (permissionid, companyid, actionid, resourceid) FROM stdin;
|
161
|
+
# # +135 10178 VIEW 139
|
162
|
+
# # +136 10178 CONFIGURATION 139
|
163
|
+
#
|
164
|
+
# # COPY groups_permissions (groupid, permissionid) FROM stdin;
|
165
|
+
# # +10198 135
|
166
|
+
#
|
167
|
+
# # COPY users_permissions (userid, permissionid) FROM stdin;
|
168
|
+
# # +10180 135
|
169
|
+
#
|
170
|
+
# # preferences.save?
|
171
|
+
#
|
172
|
+
# resource = portlet.find_resource(:scope => 4)
|
173
|
+
# guest = group.company.guest
|
174
|
+
# portlet.class.actions.each do |actionid|
|
175
|
+
# p = Permission.get(
|
176
|
+
# :companyid => group.companyid,
|
177
|
+
# :actionid => actionid,
|
178
|
+
# :resourceid => resource.id
|
179
|
+
# )
|
180
|
+
# assert_not_nil p
|
181
|
+
# #puts p.inspect
|
182
|
+
# if actionid=='VIEW'
|
183
|
+
# group.permissions << p
|
184
|
+
# group.reload
|
185
|
+
# assert group.permissions.include?(p)
|
186
|
+
#
|
187
|
+
# guest.permissions << p
|
188
|
+
# guest.reload
|
189
|
+
# assert guest.permissions.include?(p)
|
190
|
+
# end
|
191
|
+
# end
|
192
|
+
#
|
193
|
+
#
|
194
|
+
#
|
195
|
+
#
|
196
|
+
# end
|
197
|
+
|
198
|
+
|
199
|
+
def test_primkey_noninstanceable
|
200
|
+
@portlet.instanceable=false
|
201
|
+
|
202
|
+
preferences = @portlet.preferences
|
203
|
+
assert_not_nil preferences
|
204
|
+
|
205
|
+
assert_equal @portlet.portletid, preferences.portletid # not instantiated
|
206
|
+
preferences.layout = @layout
|
207
|
+
assert_equal '%i_LAYOUT_%s' % [@layout.plid, preferences.portletid], preferences.primkey
|
208
|
+
end
|
209
|
+
|
210
|
+
def test_primkey_instanceable
|
211
|
+
@portlet.instanceable=true
|
212
|
+
|
213
|
+
preferences = @portlet.preferences
|
214
|
+
assert_not_nil preferences
|
215
|
+
|
216
|
+
assert_not_nil preferences.portletid[/#{@portlet.portletid}_INSTANCE/] # instantiated
|
217
|
+
preferences.layout = @layout
|
218
|
+
assert_equal '%i_LAYOUT_%s' % [@layout.plid, preferences.portletid], preferences.primkey
|
219
|
+
end
|
220
|
+
|
221
|
+
def test_resources
|
222
|
+
@portlet.instanceable=false
|
223
|
+
|
224
|
+
preferences = @portlet.preferences
|
225
|
+
assert_not_nil preferences
|
226
|
+
preferences.layout = @layout
|
227
|
+
|
228
|
+
rc = preferences.resource_code()
|
229
|
+
assert_equal @portlet.portletid, rc.name
|
230
|
+
|
231
|
+
assert_not_nil preferences.get_resource(:scope => 1)
|
232
|
+
|
233
|
+
assert_not_nil preferences.scope2_primkey
|
234
|
+
assert_not_nil preferences.scope4_primkey
|
235
|
+
|
236
|
+
resource = preferences.get_resource(:scope => 2)
|
237
|
+
assert_not_nil resource
|
238
|
+
assert_equal @layout.groupid.to_s, resource.primkey
|
239
|
+
|
240
|
+
resource = preferences.get_resource(:scope => 4)
|
241
|
+
assert_equal preferences.primkey, resource.primkey
|
242
|
+
end
|
18
243
|
|
19
244
|
# each preference must define ownertype
|
20
245
|
def test_ownertype
|
21
246
|
@prefs.each do |x|
|
22
|
-
assert_not_nil x.ownertype, "#{x.id} defines no ownertype"
|
247
|
+
assert_not_nil x.ownertype, "PortletPreferences #{x.id} defines no ownertype"
|
23
248
|
end
|
24
249
|
end
|
25
250
|
|
26
251
|
# each preference must belong to a layout
|
27
252
|
def test_layout
|
28
253
|
@prefs.each do |x|
|
29
|
-
|
30
|
-
|
254
|
+
# quite a many portletpreferences have no layouts. perhaps they are deleted from the page?
|
255
|
+
if x.plid == 0
|
256
|
+
assert_nil x.layout
|
257
|
+
else
|
258
|
+
assert_not_nil x.layout, "PortletPreferences #{x.id} belongs to non-existing layout #{x.plid}"
|
31
259
|
end
|
32
260
|
end
|
33
261
|
end
|
34
262
|
|
35
|
-
# each preference must have a portletid
|
36
263
|
def test_portletid
|
37
264
|
@prefs.each do |x|
|
38
|
-
assert_not_nil x.portletid
|
265
|
+
assert_not_nil x.portletid
|
266
|
+
assert_not_equal '', x.portletid
|
267
|
+
next unless x.portlet
|
268
|
+
if x.portlet.instanceable?
|
269
|
+
assert_not_nil x.portletid[/INSTANCE/]
|
270
|
+
else
|
271
|
+
assert_nil x.portletid[/INSTANCE/]
|
272
|
+
end
|
273
|
+
end
|
274
|
+
end
|
275
|
+
|
276
|
+
# # Liferay leaves portletpreferences in the database while may portletids change due to upgrades.
|
277
|
+
# def test_portlet
|
278
|
+
# @prefs.each do |x|
|
279
|
+
# unless x.portlet
|
280
|
+
# STDERR.puts 'NOTICE: Portlet not found for PortletPreferences %i' % x.id
|
281
|
+
# end
|
282
|
+
# end
|
283
|
+
# end
|
284
|
+
|
285
|
+
def test_title
|
286
|
+
@prefs.each do |x|
|
287
|
+
if x.properties
|
288
|
+
assert_equal x.properties.title, x.title
|
289
|
+
if x.portlet
|
290
|
+
assert_equal x.title, x.portlet.title
|
291
|
+
end
|
292
|
+
end
|
293
|
+
end
|
294
|
+
end
|
295
|
+
|
296
|
+
def test_name
|
297
|
+
@prefs.each do |x|
|
298
|
+
if x.properties
|
299
|
+
assert_equal x.properties.name, x.name
|
300
|
+
if x.portlet
|
301
|
+
assert_equal x.name, x.portlet.name
|
302
|
+
end
|
303
|
+
end
|
304
|
+
end
|
305
|
+
end
|
306
|
+
|
307
|
+
def test_portlet_id
|
308
|
+
@prefs.each do |x|
|
309
|
+
next unless x.portletid or x.portletid.empty?
|
310
|
+
assert_not_nil x.portlet_id
|
311
|
+
assert_nil x.portlet_id[/INSTANCE/]
|
312
|
+
next unless x.portlet # these cannot be tested without knowing the portlet
|
313
|
+
if x.portlet.instanceable?
|
314
|
+
assert_not_nil x.instance_id
|
315
|
+
else
|
316
|
+
assert_nil x.instance_id
|
317
|
+
end
|
318
|
+
assert_equal x.portlet.portletid, x.portlet_id
|
319
|
+
end
|
320
|
+
end
|
321
|
+
|
322
|
+
def test_tos
|
323
|
+
@prefs.each do |x|
|
324
|
+
assert_not_nil x.preferences
|
325
|
+
assert_equal String, x.preferences.class
|
326
|
+
xml = x.to_xml
|
327
|
+
assert_not_nil xml
|
328
|
+
assert_equal REXML::Document, xml.class
|
329
|
+
arr = x.to_a
|
330
|
+
assert_not_nil arr
|
331
|
+
assert_equal Array, arr.class
|
39
332
|
end
|
40
333
|
end
|
41
334
|
|
42
|
-
|
43
|
-
def test_resource
|
335
|
+
def test_companyid
|
44
336
|
@prefs.each do |x|
|
45
|
-
|
46
|
-
|
337
|
+
if x.layout
|
338
|
+
assert_equal x.layout.companyid, x.companyid
|
339
|
+
else
|
340
|
+
assert_nil x.companyid
|
341
|
+
c = Company.first
|
342
|
+
x.companyid=c.id
|
343
|
+
assert_equal c.id, x.companyid
|
47
344
|
end
|
48
345
|
end
|
49
346
|
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
require 'test_helper'
|
2
|
+
|
3
|
+
# Beware, these tests are slow due to the amount of portletpreferences
|
4
|
+
|
5
|
+
class Web::PortletPropertiesTest < ActiveSupport::TestCase
|
6
|
+
fixtures [
|
7
|
+
:portletpreferences, :portlet, :layout, :portletproperties
|
8
|
+
]
|
9
|
+
|
10
|
+
def setup
|
11
|
+
@props = Web::PortletProperties.all
|
12
|
+
flunk 'No portlet properties -- remember Caterpillar migrations!' unless @props.any?
|
13
|
+
end
|
14
|
+
|
15
|
+
def test_portlet
|
16
|
+
@props.each do |pp|
|
17
|
+
assert_not_nil pp.portlet
|
18
|
+
assert_equal Web::Portlet, pp.portlet.class
|
19
|
+
end
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_find_by_name
|
23
|
+
@props.each do |pp|
|
24
|
+
portlet_by_name = Web::Portlet.find_by_name(pp.name)
|
25
|
+
assert_not_nil portlet_by_name
|
26
|
+
|
27
|
+
assert_equal pp, portlet_by_name.properties
|
28
|
+
|
29
|
+
portlet = Web::Portlet.find_by_portletid(pp.portletid)
|
30
|
+
next unless portlet
|
31
|
+
|
32
|
+
assert_equal portlet, portlet_by_name
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
@@ -2,38 +2,140 @@ require 'test_helper'
|
|
2
2
|
|
3
3
|
class Web::PortletTest < ActiveSupport::TestCase
|
4
4
|
fixtures [
|
5
|
-
:portletpreferences, :portlet, :
|
6
|
-
:resource_,
|
7
|
-
:role_
|
5
|
+
:portletpreferences, :portlet, :layout, :portletproperties
|
8
6
|
]
|
9
7
|
|
10
8
|
def setup
|
11
9
|
@portlets = Web::Portlet.all
|
10
|
+
@portlet = Web::Portlet.first
|
11
|
+
flunk 'no portlet to test on' unless @portlet
|
12
|
+
@layout = Web::Layout.first
|
13
|
+
flunk 'no layout to test on' unless @layout
|
14
|
+
|
15
|
+
# TODO: DRY up, the same creation code is in asset test.
|
16
|
+
unless Web::Portlet.find_by_name('asset_publisher')
|
17
|
+
Company.all.each do |c|
|
18
|
+
Web::Portlet.create(
|
19
|
+
:companyid => c.id,
|
20
|
+
:portletid => '9998'
|
21
|
+
)
|
22
|
+
Web::PortletProperties.create(
|
23
|
+
:portletid => 9998,
|
24
|
+
:name => 'asset_publisher',
|
25
|
+
:title => ''
|
26
|
+
)
|
27
|
+
end
|
28
|
+
end
|
29
|
+
unless Web::Portlet.find_by_name('tagged_content')
|
30
|
+
Company.all.each do |c|
|
31
|
+
Web::Portlet.create(
|
32
|
+
:companyid => c.id,
|
33
|
+
:portletid => '9999'
|
34
|
+
)
|
35
|
+
Web::PortletProperties.create(
|
36
|
+
:portletid => 9999,
|
37
|
+
:name => 'tagged_content',
|
38
|
+
:title => ''
|
39
|
+
)
|
40
|
+
end
|
41
|
+
end
|
12
42
|
end
|
13
43
|
|
14
|
-
|
15
|
-
|
44
|
+
def test_noninstanceable
|
45
|
+
@portlet.instanceable=false
|
46
|
+
|
47
|
+
preferences = @portlet.preferences
|
48
|
+
assert_not_nil preferences
|
49
|
+
assert_equal @portlet.portletid, preferences.portletid # not instantiated!
|
50
|
+
end
|
51
|
+
|
52
|
+
def test_preferences
|
16
53
|
@portlets.each do |x|
|
17
|
-
assert_not_nil x.
|
54
|
+
assert_not_nil x.preferences, 'Portlet %i has no preferences' % x.id
|
18
55
|
end
|
19
56
|
end
|
20
57
|
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
assert Role.find_by_name(role), "Role \"#{role}\" does not exist"
|
58
|
+
def test_properties
|
59
|
+
@portlets.each do |portlet|
|
60
|
+
pp = portlet.properties
|
61
|
+
unless pp
|
62
|
+
#RAILS_DEFAULT_LOGGER.warn 'NOTICE: portlet ”%s” is not parsed from XML. Old data perhaps?' % portlet.portletid
|
63
|
+
next
|
28
64
|
end
|
65
|
+
|
66
|
+
assert_not_nil pp.portletid
|
67
|
+
assert_not_nil pp.name
|
68
|
+
assert_not_nil pp.title
|
69
|
+
assert_not_nil portlet.properties.instanceable
|
70
|
+
assert_equal portlet.properties.instanceable, portlet.instanceable?
|
71
|
+
|
72
|
+
assert_not_nil Web::Portlet.find_by_portletid(pp.portletid)
|
29
73
|
end
|
30
74
|
end
|
31
75
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
37
|
-
|
76
|
+
def test_find_by_name
|
77
|
+
@portlets.each do |p|
|
78
|
+
next unless p.name
|
79
|
+
portlet_by_name = Web::Portlet.find_by_name(p.name)
|
80
|
+
assert_not_nil portlet_by_name
|
81
|
+
assert_equal portlet, portlet_by_name
|
82
|
+
end
|
83
|
+
end
|
84
|
+
|
85
|
+
def test_title
|
86
|
+
@portlets.each do |portlet|
|
87
|
+
assert_not_nil portlet.title
|
88
|
+
if portlet.properties
|
89
|
+
assert_not_equal '', portlet.title
|
90
|
+
end
|
91
|
+
end
|
92
|
+
end
|
93
|
+
|
94
|
+
# only instanceable portlets have resources
|
95
|
+
def test_instanceable
|
96
|
+
@portlet.instanceable=true
|
97
|
+
|
98
|
+
preferences = @portlet.preferences
|
99
|
+
assert_not_nil preferences
|
100
|
+
assert_not_nil preferences.portletid[/#{@portlet.portletid}_INSTANCE/] # instantiated!
|
101
|
+
end
|
102
|
+
|
103
|
+
# each portlet must belong to a company
|
104
|
+
def test_company
|
105
|
+
@portlets.each do |x|
|
106
|
+
assert_not_nil x.company
|
107
|
+
end
|
108
|
+
end
|
109
|
+
|
110
|
+
def test_asset_publisher_path
|
111
|
+
group = Group.first
|
112
|
+
flunk 'No group to test on' unless group
|
113
|
+
|
114
|
+
layout = Web::Layout.first
|
115
|
+
flunk 'No layout to test on' unless layout
|
116
|
+
|
117
|
+
asset = Tag::Asset.first
|
118
|
+
flunk 'No asset to test on' unless asset
|
119
|
+
|
120
|
+
[5100, 5200].each do |build|
|
121
|
+
Lportal::Schema.buildnumber = build
|
122
|
+
|
123
|
+
name = (
|
124
|
+
if build==5100
|
125
|
+
'tagged_content'
|
126
|
+
else
|
127
|
+
'asset_publisher'
|
128
|
+
end
|
129
|
+
)
|
130
|
+
|
131
|
+
portlet = Web::Portlet.find_by_name(name)
|
132
|
+
assert_not_nil portlet, 'Could not find portlet %s' % name
|
133
|
+
layout.<< portlet
|
134
|
+
|
135
|
+
path = portlet.preferences.path(:asset => asset)
|
136
|
+
assert_not_nil path
|
137
|
+
#assert_not_nil path[/#{portlet.portletid}/]
|
138
|
+
end
|
139
|
+
end
|
38
140
|
|
39
141
|
end
|
@@ -3,15 +3,15 @@ require 'test_helper'
|
|
3
3
|
class TypesettingsTest < ActiveSupport::TestCase
|
4
4
|
fixtures [
|
5
5
|
:layout,
|
6
|
-
|
6
|
+
:portlet, :portletpreferences, :portletproperties
|
7
7
|
]
|
8
8
|
|
9
9
|
def setup
|
10
10
|
# test caterpillar migrations
|
11
|
-
p = Web::
|
11
|
+
p = Web::PortletProperties.first
|
12
12
|
flunk 'Please run Caterpillar migrations' unless p
|
13
13
|
|
14
|
-
@mb = Web::
|
14
|
+
@mb = Web::PortletProperties.find_by_name 'message_boards'
|
15
15
|
assert_not_nil @mb
|
16
16
|
end
|
17
17
|
|
@@ -25,14 +25,26 @@ class TypesettingsTest < ActiveSupport::TestCase
|
|
25
25
|
assert_equal typesettings, Web::Typesettings.new.message_boards(:column => 2).to_s
|
26
26
|
end
|
27
27
|
|
28
|
-
def
|
28
|
+
def test_include_noninstantiated
|
29
29
|
ts = Web::Typesettings.new.message_boards(:column => 2)
|
30
|
-
assert ts.include?(Web::
|
31
|
-
assert !ts.include?(Web::
|
30
|
+
assert ts.include?(Web::Portlet.find_by_name('message_boards'))
|
31
|
+
assert !ts.include?(Web::Portlet.find_by_name('translator'))
|
32
|
+
assert ts.include?(Web::PortletProperties.find_by_name('message_boards'))
|
33
|
+
assert !ts.include?(Web::PortletProperties.find_by_name('translator'))
|
32
34
|
assert ts.include?('message_boards')
|
33
35
|
assert !ts.include?('translator')
|
34
36
|
end
|
35
37
|
|
38
|
+
# def test_include_instantiated
|
39
|
+
# portlet = Web::Portlet.first
|
40
|
+
#portlet.instanceable = true
|
41
|
+
# ts = Web::Typesettings.new.message_boards(:column => 2)
|
42
|
+
# assert ts.include?(Web::PortletProperties.find_by_name('message_boards'))
|
43
|
+
# assert !ts.include?(Web::PortletProperties.find_by_name('translator'))
|
44
|
+
# assert ts.include?('message_boards')
|
45
|
+
# assert !ts.include?('translator')
|
46
|
+
# end
|
47
|
+
|
36
48
|
def test_read
|
37
49
|
ts = Web::Typesettings.new.message_boards(:column => 2).to_s
|
38
50
|
_ts = Web::Typesettings.new(ts)
|
@@ -40,14 +52,15 @@ class TypesettingsTest < ActiveSupport::TestCase
|
|
40
52
|
end
|
41
53
|
|
42
54
|
def test_layouts
|
43
|
-
|
55
|
+
flunk 'this test is incomplete'
|
56
|
+
#STDERR.puts
|
44
57
|
Web::Layout.all.each do |layout|
|
45
58
|
ts = layout.typesettings
|
46
59
|
# compare string lengths
|
47
|
-
puts ts.inspect
|
48
|
-
puts layout.
|
49
|
-
assert_equal ts.size, layout.
|
50
|
-
puts '...'
|
60
|
+
#STDERR.puts ts.inspect
|
61
|
+
#STDERR.puts layout.settings.to_s.inspect
|
62
|
+
assert_equal ts.size, layout.settings.to_s.size
|
63
|
+
#STDERR.puts '...'
|
51
64
|
end
|
52
65
|
end
|
53
66
|
|
data/version.rb
CHANGED