lportal 1.0.7 → 1.0.8

Sign up to get free protection for your applications and to get access to all the features.
@@ -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