lportal 1.0.7 → 1.0.8

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.
@@ -7,14 +7,195 @@ class UserTest < ActiveSupport::TestCase
7
7
  :phone,
8
8
  :contact_,
9
9
  :classname_,
10
- :layoutset
10
+ :listtype,
11
+ :layoutset,
12
+ :counter,
13
+ :resourcecode
11
14
  ]
12
15
 
13
16
  def setup
14
17
  @users = User.all
18
+ @company = Company.first
19
+ flunk 'No company!' unless @company
15
20
  end
16
21
 
17
22
  def test_create
23
+ firstname = 'Test'
24
+ lastname = 'User'
25
+ email = 'test@localhost'
26
+ counter_permission = Counter.find_by_name('com.liferay.portal.model.Permission')
27
+ counter_resource = Counter.find_by_name('com.liferay.portal.model.Resource')
28
+
29
+ user = User.create(
30
+ :company => @company,
31
+ :firstname => firstname,
32
+ :lastname => lastname,
33
+ :emailaddress => email
34
+ )
35
+ assert_not_nil user
36
+
37
+ assert_equal @company, user.company
38
+ assert_not_nil user.uuid_
39
+ assert user.active_
40
+ assert_equal [firstname, lastname].join('-').downcase, user.screenname
41
+ assert_equal firstname, user.password_
42
+ assert_equal email, user.emailaddress
43
+
44
+ # contact_
45
+ c = Contact.find_by_userid user.id
46
+ assert_equal c, user.contact
47
+ assert_equal user.companyid, c.companyid
48
+ assert_equal user.company.accountid, c.accountid
49
+ assert_equal firstname, c.firstname
50
+ assert_equal lastname, c.lastname
51
+ assert_equal 0, c.prefixid
52
+ assert_equal 0, c.suffixid
53
+ assert_equal 0, c.parentcontactid
54
+
55
+ # check "User" and "Power User" roles
56
+ _userrole = Role.find(:first, :conditions => "companyid=#{user.companyid} AND name='User'")
57
+ _powerrole = Role.find(:first, :conditions => "companyid=#{user.companyid} AND name='Power User'")
58
+ assert user.roles.include?(_userrole)
59
+ assert user.roles.include?(_powerrole)
60
+
61
+ # group
62
+ g = Group.find_by_classpk(user.id)
63
+ assert_not_nil g
64
+ assert_equal g, user.hive
65
+
66
+ assert_equal user.companyid, g.companyid
67
+ assert_equal user.id, g.creatoruserid
68
+ assert_equal Classname.find_by_value(user.liferay_class).id, g.classnameid
69
+ assert_equal user.id, g.classpk
70
+ assert_equal 0, g.parentgroupid
71
+ assert_equal 0, g.livegroupid
72
+ assert_equal 0, g.type_
73
+ assert_equal '/'+user.screenname, g.friendlyurl
74
+ assert g.is_active?
75
+
76
+ assert_not_nil g.public_layoutset
77
+ assert_not_nil g.private_layoutset
78
+
79
+ g.layoutsets.each do |ls|
80
+ assert_equal user.companyid, ls.companyid
81
+ assert_equal false, ls.logo
82
+ assert_equal 0, ls.logoid
83
+ assert_equal 0, ls.pagecount
84
+ end
85
+
86
+ rc = user.resource_code(4)
87
+ assert_not_nil rc
88
+
89
+ # resource
90
+ resources = user.resources.select{|r| r.codeid == rc.id}
91
+ assert !resources.empty?
92
+ resource = resources.first
93
+ # counter
94
+ assert_equal (counter_resource.currentid+100), counter_resource.reload.currentid
95
+
96
+ # permissions
97
+ user.class.actions.each do |action|
98
+ p = resource.permissions.select{|_p| _p.actionid==action}.first
99
+ assert_not_nil p
100
+ assert_equal user.companyid, p.companyid
101
+ assert user.user_permissions.include?(p)
102
+ end
103
+ # counter
104
+ assert_equal (counter_permission.currentid+100), counter_permission.reload.currentid
105
+
106
+ # announcementsdelivery
107
+ ['general','news','test'].each do |type|
108
+ d = Announcement::Delivery.find(:first,
109
+ :conditions => "userid=#{user.id} AND type_='#{type}'")
110
+
111
+ assert_equal user.companyid, d.companyid
112
+ assert_equal false, d.email
113
+ assert_equal false, d.sms
114
+ assert_equal true, d.website
115
+ end
116
+ end
117
+
118
+ def destroy_user
119
+ firstname = 'Test'
120
+ lastname = 'User'
121
+ email = 'test@localhost'
122
+ counter_permission = Counter.find_by_name('com.liferay.portal.model.Permission')
123
+ counter_resource = Counter.find_by_name('com.liferay.portal.model.Resource')
124
+
125
+ user = User.create(
126
+ :company => @company,
127
+ :firstname => 'Test',
128
+ :lastname => 'User'
129
+ )
130
+ assert_not_nil user
131
+
132
+ resources = user.resources
133
+ permissions = user.permissions
134
+ roles = user.roles
135
+
136
+ contact = user.contact
137
+ assert_not_nil contact
138
+
139
+ group = u.hive
140
+ assert_not_nil group
141
+
142
+ layoutsets = group.layoutsets
143
+
144
+ ###
145
+ user.destroy
146
+ ###
147
+
148
+ assert_raise(ActiveRecord::RecordNotFound) { contact.reload }
149
+ assert_raise(ActiveRecord::RecordNotFound) { group.reload }
150
+ layoutsets.each do |ls|
151
+ assert_raise(ActiveRecord::RecordNotFound) { ls.reload }
152
+ end
153
+
154
+ ['general','news','test'].each do |type|
155
+ assert_nil Announcement::Delivery.find(:first,
156
+ :conditions => "userid=#{u.id} AND type_='#{type}'")
157
+ end
158
+ end
159
+
160
+ # organization membership
161
+ def test_assign_organization_membership
162
+ user = @users.first
163
+
164
+ org_role = Role.find(:first, :conditions => "companyid=#{user.companyid} AND name='Organization Member'")
165
+ assert_not_nil org_role
166
+
167
+ @company.organizations.each do |org|
168
+ user.assign_organization_membership(org)
169
+ assert user.organizations.include?(org)
170
+
171
+ # can ActiveRecord handle 3-way associations?
172
+ r = ActiveRecord::Base.connection.execute(
173
+ "SELECT * from usergrouprole WHERE userid=%i;" % user.id)
174
+ assert_equal 1, r.result.size
175
+ res = r.result.first
176
+ assert_equal user.id, res[0].to_i
177
+ assert_equal org.group.id, res[1].to_i
178
+ assert_equal org_role.id, res[2].to_i
179
+ end
180
+ end
181
+
182
+ def test_gsm
183
+ nr = Kernel.rand(10000000).to_s
184
+ u = @users.first
185
+ u.phones.each(&:destroy)
186
+
187
+ u = User.find u.id
188
+ u.gsm = nr
189
+
190
+ phone = u.phones.first
191
+ assert_not_nil phone
192
+ assert_equal u.companyid, phone.companyid
193
+ assert_equal u.fullname, phone.username
194
+ assert_equal Classname.find_by_value('com.liferay.portal.model.Contact').id, phone.classnameid
195
+ assert_equal u.contact.id, phone.classpk
196
+ assert_equal nr, phone.number_
197
+ assert_equal ListType.find_by_name('Mobile').id, phone.typeid
198
+ assert phone.is_primary?
18
199
  end
19
200
 
20
201
  # each user must belong to a company
@@ -110,4 +291,11 @@ class UserTest < ActiveSupport::TestCase
110
291
  end
111
292
  end
112
293
 
294
+ def test_path
295
+ @users.each do |u|
296
+ assert_not_nil u.path(:public) if u.hive.public_layoutset
297
+ assert_not_nil u.path(:private) if u.hive.private_layoutset
298
+ end
299
+ end
300
+
113
301
  end
@@ -1,13 +1,68 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class Web::LayoutTest < ActiveSupport::TestCase
4
- fixtures :layout, :layoutset, :portlet
4
+ fixtures [
5
+ :layout, :layoutset, :portlet, :portletpreferences, :portlet_names, :resourcecode
6
+ ]
5
7
 
6
8
  def setup
7
9
  @layouts = Web::Layout.find :all
8
10
  assert !@layouts.empty?
9
11
  end
10
12
 
13
+ def test_create
14
+ group = Group.first
15
+
16
+ # public
17
+ layoutset = group.public_layoutset
18
+ layouts = layoutset.layouts.size
19
+
20
+ ids = group.public_layouts.collect(&:layoutid)
21
+
22
+ layout = Web::Layout.create(
23
+ :group => group,
24
+ :privatelayout => false
25
+ )
26
+ assert_not_nil layout
27
+
28
+ assert_equal group, layout.group
29
+ assert_equal group.companyid, layout.companyid
30
+ assert_equal layoutset, layout.layoutset
31
+ assert_not_nil layout.layoutid
32
+
33
+ assert !ids.include?(layout.layoutid)
34
+
35
+ assert_not_nil layout.friendlyurl
36
+ assert_equal 'portlet', layout.type_
37
+ assert_not_nil layout.typesettings
38
+ assert_not_nil layout.title
39
+ assert_not_nil layout.description
40
+ assert_not_nil layout.hidden_
41
+
42
+ layoutset.reload
43
+ assert_equal layouts+1, layoutset.pagecount
44
+
45
+ rc = layout.resource_code(2)
46
+ assert_not_nil rc
47
+ assert_not_nil Resource.find(:first, :conditions => "codeid=#{rc.id} AND primkey='#{group.id}'")
48
+
49
+ rc = layout.resource_code(4)
50
+ assert_not_nil rc
51
+ resource = Resource.find(:first, :conditions => "codeid=#{rc.id} AND primkey='#{layout.id}'")
52
+ assert_not_nil resource
53
+
54
+
55
+ group.reload
56
+
57
+ layout.class.actions.each do |actionid|
58
+ p = Permission.find(:first,
59
+ :conditions => "companyid=#{layout.companyid} AND actionid='#{actionid}' AND resourceid=#{resource.id}")
60
+ assert_not_nil p
61
+
62
+ assert group.permissions.include?(p)
63
+ end
64
+ end
65
+
11
66
  # each layout must belong to a company
12
67
  def test_company
13
68
  @layouts.each do |x|
@@ -74,14 +129,15 @@ class Web::LayoutTest < ActiveSupport::TestCase
74
129
 
75
130
  # check portlets
76
131
  x.portletids.each do |id|
77
- unless id[/INSTANCE/]
78
- assert Web::Portlet.find_by_portletid(id), "Layout #{x.id} defines portlet #{id} but it is not found in portlet"
79
- end
132
+ next if id[/INSTANCE/]
133
+ assert Web::Portlet.find_by_portletid(id), "Layout #{x.id} defines portlet #{id} but it is not found in the portlet table"
80
134
  end
81
135
 
82
136
  # check instances
83
- x.instanceids.each do |id|
84
- assert Web::PortletPreferences.find_by_portletid(id), "#{x.id} defines portlet instance #{id} but it is not found in portletpreferences"
137
+ x.instances.each do |portlet|
138
+ portletid = portlet.portletid
139
+ next unless portletid[/INSTANCE/]
140
+ assert Web::PortletPreferences.find_by_portletid(), "#{x.id} defines portlet instance #{portletid} but it is not found in portletpreferences"
85
141
  end
86
142
  end
87
143
  end
@@ -0,0 +1,54 @@
1
+ require 'test_helper'
2
+
3
+ class TypesettingsTest < ActiveSupport::TestCase
4
+ fixtures [
5
+ :layout,
6
+ # :portlet, :portletpreferences
7
+ ]
8
+
9
+ def setup
10
+ # test caterpillar migrations
11
+ p = Web::PortletName.first
12
+ flunk 'Please run Caterpillar migrations' unless p
13
+
14
+ @mb = Web::PortletName.find_by_name 'message_boards'
15
+ assert_not_nil @mb
16
+ end
17
+
18
+ def test_empty
19
+ assert_equal "layout-template-id=2_columns_ii\n", Web::Typesettings.new.to_s
20
+ assert_equal "layout-template-id=1_column\n", Web::Typesettings.new(:columns => 1).to_s
21
+ end
22
+
23
+ def test_message_boards
24
+ typesettings = "layout-template-id=2_columns_ii\ncolumn-2=%i," % @mb.portletid
25
+ assert_equal typesettings, Web::Typesettings.new.message_boards(:column => 2).to_s
26
+ end
27
+
28
+ def test_include
29
+ ts = Web::Typesettings.new.message_boards(:column => 2)
30
+ assert ts.include?(Web::PortletName.find_by_name('message_boards'))
31
+ assert !ts.include?(Web::PortletName.find_by_name('translator'))
32
+ assert ts.include?('message_boards')
33
+ assert !ts.include?('translator')
34
+ end
35
+
36
+ def test_read
37
+ ts = Web::Typesettings.new.message_boards(:column => 2).to_s
38
+ _ts = Web::Typesettings.new(ts)
39
+ assert_equal ts, _ts.to_s
40
+ end
41
+
42
+ def test_layouts
43
+ puts
44
+ Web::Layout.all.each do |layout|
45
+ ts = layout.typesettings
46
+ # compare string lengths
47
+ puts ts.inspect
48
+ puts layout.contents.to_s.inspect
49
+ assert_equal ts.size, layout.contents.to_s.size
50
+ puts '...'
51
+ end
52
+ end
53
+
54
+ end
data/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # bogus module that only defines the VERSION.
2
2
  module Lportal
3
- VERSION='1.0.7'
3
+ VERSION='1.0.8'
4
4
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lportal
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.7
4
+ version: 1.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mikael Lammentausta
@@ -9,7 +9,7 @@ autorequire: init
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-01-05 00:00:00 +02:00
12
+ date: 2009-01-25 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -92,6 +92,7 @@ files:
92
92
  - lib/web/portlet_preferences.rb
93
93
  - lib/web/layout_set.rb
94
94
  - lib/web/portlet.rb
95
+ - lib/web/typesettings.rb
95
96
  - lib/dl_file.rb
96
97
  - lib/permission.rb
97
98
  - lib/bookmark
@@ -163,6 +164,7 @@ test_files:
163
164
  - test/unit/mb/discussion_test.rb
164
165
  - test/unit/mb/thread_test.rb
165
166
  - test/unit/address_test.rb
167
+ - test/unit/web/typesettings_test.rb
166
168
  - test/unit/web/layout_set_test.rb
167
169
  - test/unit/web/layout_test.rb
168
170
  - test/unit/web/portlet_preferences_test.rb
@@ -173,3 +175,4 @@ test_files:
173
175
  - test/unit/bookmark/folder_test.rb
174
176
  - test/unit/user_test.rb
175
177
  - test/unit/permission_test.rb
178
+ - test/unit/phone_test.rb