lportal 1.0.0 → 1.0.4

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.
Files changed (69) hide show
  1. data/README +1 -2
  2. data/init.rb +4 -0
  3. data/lib/announcement/entry.rb +17 -0
  4. data/lib/blog_post.rb +3 -0
  5. data/lib/bookmark/entry.rb +22 -0
  6. data/lib/bookmark/folder.rb +18 -0
  7. data/lib/calevent.rb +20 -0
  8. data/lib/classname.rb +78 -0
  9. data/lib/company.rb +5 -0
  10. data/lib/ig/folder.rb +11 -0
  11. data/lib/ig/image.rb +3 -4
  12. data/lib/journal/article_resource.rb +6 -2
  13. data/lib/mb/message.rb +0 -3
  14. data/lib/mb/thread.rb +5 -1
  15. data/lib/organization.rb +9 -2
  16. data/lib/resource.rb +5 -11
  17. data/lib/tag/asset.rb +40 -1
  18. data/lib/user.rb +7 -0
  19. data/lib/usergroup.rb +4 -4
  20. data/lib/web/layout.rb +4 -0
  21. data/lib/web/layout_set.rb +14 -10
  22. data/lib/web/portlet.rb +9 -9
  23. data/lib/web/portlet_preferences.rb +6 -6
  24. data/lib/wiki/page.rb +3 -0
  25. data/lportal.rb +12 -1
  26. data/test/unit/account_test.rb +5 -2
  27. data/test/unit/address_test.rb +0 -4
  28. data/test/unit/announcement/entry_test.rb +28 -0
  29. data/test/unit/blog_post_test.rb +38 -0
  30. data/test/unit/bookmark/entry_test.rb +28 -0
  31. data/test/unit/bookmark/folder_test.rb +22 -0
  32. data/test/unit/calevent_test.rb +28 -0
  33. data/test/unit/company_test.rb +31 -18
  34. data/test/unit/contact_test.rb +6 -5
  35. data/test/unit/group_test.rb +4 -2
  36. data/test/unit/ig/folder_test.rb +23 -3
  37. data/test/unit/ig/image_test.rb +11 -3
  38. data/test/unit/journal/article_image_test.rb +6 -5
  39. data/test/unit/journal/article_resource_test.rb +16 -3
  40. data/test/unit/journal/article_test.rb +19 -6
  41. data/test/unit/mb/category_test.rb +21 -5
  42. data/test/unit/mb/discussion_test.rb +9 -2
  43. data/test/unit/mb/message_test.rb +16 -8
  44. data/test/unit/mb/thread_test.rb +10 -3
  45. data/test/unit/organization_test.rb +20 -21
  46. data/test/unit/permission_test.rb +30 -9
  47. data/test/unit/resource_code_test.rb +8 -4
  48. data/test/unit/resource_test.rb +46 -24
  49. data/test/unit/role_test.rb +5 -3
  50. data/test/unit/tag/asset_test.rb +61 -0
  51. data/test/unit/tag/entry_test.rb +17 -7
  52. data/test/unit/tag/property_test.rb +12 -4
  53. data/test/unit/user_test.rb +37 -44
  54. data/test/unit/usergroup_test.rb +10 -9
  55. data/test/unit/web/layout_set_test.rb +38 -34
  56. data/test/unit/web/layout_test.rb +3 -5
  57. data/test/unit/web/portlet_preferences_test.rb +10 -6
  58. data/test/unit/web/portlet_test.rb +14 -8
  59. data/test/unit/wiki/node_test.rb +1 -4
  60. data/test/unit/wiki/page_test.rb +1 -4
  61. data/version.rb +4 -0
  62. metadata +28 -10
  63. data/lib/announcement.rb +0 -5
  64. data/lib/bookmark.rb +0 -10
  65. data/lib/web/portlet_name.rb +0 -6
  66. data/test/unit/announcement_test.rb +0 -8
  67. data/test/unit/asset_test.rb +0 -29
  68. data/test/unit/bookmark_test.rb +0 -8
  69. data/test/unit/user_group_test.rb +0 -8
data/README CHANGED
@@ -3,8 +3,7 @@
3
3
  This is a collection of (some) Liferay models for developers that use the database with ActiveRecord. You may want to check out the Rails-portlet package if you're going to deploy Rails applications of Liferay.
4
4
 
5
5
 
6
-
7
- == Example
6
+ == Follow these steps
8
7
 
9
8
  1. Configure ActiveRecord as usual.
10
9
  2. require 'lportal'
data/init.rb ADDED
@@ -0,0 +1,4 @@
1
+ file = File.symlink?(__FILE__) ? File.readlink(__FILE__) : __FILE__
2
+ this_dir = File.dirname(File.expand_path(file))
3
+
4
+ require this_dir+'/lportal'
@@ -0,0 +1,17 @@
1
+ module Announcement
2
+ class Entry < ActiveRecord::Base
3
+ set_table_name :announcementsentry
4
+ set_primary_key :entryid
5
+
6
+ belongs_to :company,
7
+ :foreign_key => 'companyid'
8
+
9
+ belongs_to :user,
10
+ :foreign_key => 'userid'
11
+
12
+ # has_one :asset,
13
+ # :foreign_key => 'classpk'
14
+
15
+
16
+ end
17
+ end
data/lib/blog_post.rb CHANGED
@@ -7,6 +7,9 @@ class BlogPost < ActiveRecord::Base
7
7
  'com.liferay.portlet.blogs.model.BlogsEntry'
8
8
  end
9
9
 
10
+ belongs_to :company,
11
+ :foreign_key => 'companyid'
12
+
10
13
  # association to user
11
14
  belongs_to :user,
12
15
  :foreign_key => 'userid'
@@ -0,0 +1,22 @@
1
+ module Bookmark
2
+ class Entry < ActiveRecord::Base
3
+ set_table_name :bookmarksentry
4
+ set_primary_key :entryid
5
+
6
+ # com.liferay.portlet.bookmarks.model.BookmarksEntry
7
+ def liferay_class
8
+ 'com.liferay.portlet.bookmarks.model.BookmarksEntry'
9
+ end
10
+
11
+ belongs_to :company,
12
+ :foreign_key => 'companyid'
13
+
14
+ belongs_to :user,
15
+ :foreign_key => 'userid'
16
+
17
+ belongs_to :folder,
18
+ :class_name => 'Bookmark::Folder',
19
+ :foreign_key => 'folderid'
20
+
21
+ end
22
+ end
@@ -0,0 +1,18 @@
1
+ module Bookmark
2
+ class Folder < ActiveRecord::Base
3
+ set_table_name :bookmarksfolder
4
+ set_primary_key :folderid
5
+
6
+ # com.liferay.portlet.bookmarks.model.BookmarksFolder
7
+ def liferay_class
8
+ 'com.liferay.portlet.bookmarks.model.BookmarksFolder'
9
+ end
10
+
11
+ belongs_to :company,
12
+ :foreign_key => 'companyid'
13
+
14
+ belongs_to :user,
15
+ :foreign_key => 'userid'
16
+
17
+ end
18
+ end
data/lib/calevent.rb ADDED
@@ -0,0 +1,20 @@
1
+ class Calevent < ActiveRecord::Base
2
+ set_table_name :calevent
3
+ set_primary_key :eventid
4
+
5
+ # com.liferay.portlet.calendar.model.CalEvent
6
+ def liferay_class
7
+ 'com.liferay.portlet.calendar.model.CalEvent'
8
+ end
9
+
10
+ belongs_to :company,
11
+ :foreign_key => 'companyid'
12
+
13
+ belongs_to :user,
14
+ :foreign_key => 'userid'
15
+
16
+ belongs_to :group,
17
+ :foreign_key => 'groupid'
18
+
19
+
20
+ end
data/lib/classname.rb ADDED
@@ -0,0 +1,78 @@
1
+ class Classname < ActiveRecord::Base
2
+ set_table_name :classname_
3
+ set_primary_key :classnameid
4
+
5
+ # Returns the Class of the model for a certain Java class
6
+ def self.model(codename)
7
+ case codename
8
+
9
+ # TODO: rake task to caterpillar..
10
+ # when "56" #journal_content
11
+ # when "58" #login
12
+ # when "101" #tagged_content
13
+ # when "103" #tags_compiler
14
+
15
+ when 'com.liferay.portal.model.Layout'
16
+ Web::Layout
17
+
18
+ when 'com.liferay.portal.model.Organization'
19
+ Organization
20
+
21
+ when 'com.liferay.portal.model.Role'
22
+ Role
23
+
24
+ when 'com.liferay.portal.model.User'
25
+ User
26
+
27
+ when 'com.liferay.portal.model.UserGroup'
28
+ Usergroup
29
+
30
+ when 'com.liferay.portlet.blogs.model.BlogsEntry'
31
+ BlogPost
32
+
33
+ when 'com.liferay.portlet.documentlibrary.model.DLFileEntry'
34
+ DlFile
35
+
36
+ when 'com.liferay.portlet.documentlibrary.model.DLFolder'
37
+ DlFolder
38
+
39
+ when 'com.liferay.portlet.calendar.model.CalEvent'
40
+ Calevent
41
+
42
+ when 'com.liferay.portlet.announcements.model.AnnouncementsEntry'
43
+ Announcement::Entry
44
+
45
+ when 'com.liferay.portlet.bookmarks.model.BookmarksEntry'
46
+ Bookmark::Entry
47
+
48
+ when 'com.liferay.portlet.bookmarks.model.BookmarksFolder'
49
+ Bookmark::Folder
50
+
51
+ when 'com.liferay.portlet.imagegallery.model.IGFolder'
52
+ IG::Folder
53
+
54
+ when 'com.liferay.portlet.imagegallery.model.IGImage'
55
+ IG::Image
56
+
57
+ when 'com.liferay.portlet.journal.model.JournalArticle'
58
+ Journal::Article
59
+
60
+ when 'com.liferay.portlet.journal.model.JournalArticleResource'
61
+ Journal::ArticleResource
62
+
63
+ when 'com.liferay.portlet.messageboards.model.MBCategory'
64
+ MB::Category
65
+
66
+ when 'com.liferay.portlet.messageboards.model.MBMessage'
67
+ MB::Message
68
+
69
+ when 'com.liferay.portlet.wiki.model.WikiNode'
70
+ Wiki::Node
71
+
72
+ when 'com.liferay.portlet.wiki.model.WikiPage'
73
+ Wiki::Page
74
+
75
+ end
76
+ end
77
+
78
+ end
data/lib/company.rb CHANGED
@@ -32,6 +32,11 @@ class Company < ActiveRecord::Base
32
32
  'com.liferay.portal.model.Company'
33
33
  end
34
34
 
35
+ def administrators
36
+ adminrole = Role.find_by_name 'Administrator'
37
+ return self.users.select{|u| u.roles.include?(adminrole) }
38
+ end
39
+
35
40
 
36
41
  # has_one :frontpage,
37
42
  # :class_name => "Web::LayoutSet",
data/lib/ig/folder.rb CHANGED
@@ -8,5 +8,16 @@ module IG
8
8
  def liferay_class
9
9
  'com.liferay.portlet.imagegallery.model.IGFolder'
10
10
  end
11
+
12
+ belongs_to :company,
13
+ :foreign_key => 'companyid'
14
+
15
+ belongs_to :user,
16
+ :foreign_key => 'userid'
17
+
18
+ belongs_to :group,
19
+ :foreign_key => 'groupid'
20
+
21
+
11
22
  end
12
23
  end
data/lib/ig/image.rb CHANGED
@@ -18,11 +18,10 @@ module IG
18
18
  has_one :asset,
19
19
  :foreign_key => 'classpk'
20
20
 
21
- # belongs_to :folder,
22
- # :class_name => "DlFolder",
23
- # :foreign_key => "folderid"
21
+ belongs_to :folder,
22
+ :class_name => 'IG::Folder',
23
+ :foreign_key => 'folderid'
24
24
 
25
- #
26
25
  def large
27
26
  ::Image.find self.largeimageid
28
27
  end
@@ -14,9 +14,13 @@ module Journal
14
14
  has_one :asset,
15
15
  :foreign_key => 'classpk'
16
16
 
17
+ # belongs_to :article,
18
+ # :class_name => 'Journal::Article',
19
+ # :foreign_key => 'articleid'
20
+
17
21
  # verbose has_one :article, as articleid does not refer the primkey of Journal::Article
18
- def articles
19
- Journal::Article.find :all, :conditions => "articleid=#{self.articleid}"
22
+ def article
23
+ Journal::Article.find_by_articleid self.articleid
20
24
  end
21
25
 
22
26
  end
data/lib/mb/message.rb CHANGED
@@ -24,9 +24,6 @@ module MB
24
24
  :class_name => 'MB::Thread',
25
25
  :foreign_key => 'threadid'
26
26
 
27
- has_one :asset,
28
- :foreign_key => 'classpk'
29
-
30
27
 
31
28
  # parent message
32
29
  def parent
data/lib/mb/thread.rb CHANGED
@@ -12,9 +12,13 @@ module MB
12
12
  :class_name => "MB::Category",
13
13
  :foreign_key => "categoryid"
14
14
 
15
- belongs_to :first_entry,
15
+ belongs_to :root,
16
16
  :class_name => "MB::Message",
17
17
  :foreign_key => "rootmessageid"
18
18
 
19
+ def first_entry
20
+ self.root
21
+ end
22
+
19
23
  end
20
24
  end
data/lib/organization.rb CHANGED
@@ -17,10 +17,17 @@ class Organization < ActiveRecord::Base
17
17
  :association_foreign_key => 'userid'
18
18
  alias :members :users
19
19
 
20
+ belongs_to :parent,
21
+ :class_name => 'Organization',
22
+ :foreign_key => 'parentorganizationid'
23
+
20
24
  # Organization's own group
21
- has_one :hive,
22
- :class_name => 'Group',
25
+ has_one :group,
26
+ :class_name => 'Group',
23
27
  :foreign_key => 'classpk'
24
28
 
29
+ def hive
30
+ self.group
31
+ end
25
32
 
26
33
  end
data/lib/resource.rb CHANGED
@@ -32,23 +32,17 @@ class Resource < ActiveRecord::Base
32
32
  def content
33
33
  key = self.primkey
34
34
 
35
- case self.code.name
36
- when 'com.liferay.portlet.journal.model.JournalArticle'
37
- Journal::ArticleResource.find key
38
- when 'com.liferay.portal.model.Layout'
39
- Web::Layout.find key
40
-
41
- # when "56" #journal_content
42
- # when "58" #login
43
- # when "101" #tagged_content
44
- # when "103" #tags_compiler
35
+ _class = Classname.model(self.code.name)
36
+ if _class
37
+ _class.find key
45
38
 
46
39
  else
47
40
  if key[/LAYOUT/]
48
41
  Web::PortletPreferences.find(:first, :conditions => "plid=#{self.plid} AND portletid='#{self.portletid}'" )
49
42
  else
50
43
  # unless groups_ids.include? key
51
- STDERR.puts "fixme: #{x.code.name} (#{key})"
44
+ STDERR.puts "fixme: #{self.code.name} (#{key})"
45
+ return nil
52
46
  # end
53
47
  end
54
48
  end
data/lib/tag/asset.rb CHANGED
@@ -24,11 +24,50 @@ module Tag
24
24
 
25
25
  # association to tags
26
26
  has_and_belongs_to_many :tags,
27
- :class_name => 'Tag::Entry',
27
+ :class_name => 'Tag::Entry',
28
28
  :join_table => 'tagsassets_tagsentries',
29
29
  :foreign_key => 'assetid',
30
30
  :association_foreign_key => 'entryid'
31
31
 
32
+ def self.resource_types
33
+ [
34
+ BlogPost,
35
+ Wiki::Page,
36
+ MB::Message,
37
+ Journal::Article,
38
+ DlFile,
39
+ IG::Image,
40
+ Bookmark::Entry,
41
+ Group,
42
+ DlFolder
43
+ ]
44
+ end
45
+
46
+ # Content can be of several different types.
47
+ # Finding Wiki::Page s and Journal::Article s is a bit tricky..
48
+ def resource
49
+ resource_id = self.classpk
50
+ #logger.debug "Looking up resource #{resource_id}"
51
+
52
+ _class = Classname.model(Classname.find(self.classnameid).value)
53
+ if _class
54
+ if _class==Wiki::Page
55
+ Wiki::Page.find(:first,
56
+ :conditions => "resourceprimkey=#{resource_id}", :order => "version DESC")
57
+
58
+ elsif _class==Journal::Article
59
+ Journal::Article.find(:first,
60
+ :conditions => "resourceprimkey=#{resource_id}", :order => "version DESC")
61
+
62
+ else
63
+ _class.find resource_id
64
+ end
65
+
66
+ else
67
+ logger.warn "Resource #{resource_id} of asset #{self.id} was left unresolved"
68
+ return nil
69
+ end
70
+ end
32
71
 
33
72
  end
34
73
  end
data/lib/user.rb CHANGED
@@ -3,6 +3,8 @@ class User < ActiveRecord::Base
3
3
  set_table_name :user_
4
4
  set_primary_key :userid
5
5
 
6
+ validates_uniqueness_of :screenname
7
+
6
8
  public
7
9
 
8
10
  def liferay_class
@@ -154,6 +156,7 @@ class User < ActiveRecord::Base
154
156
 
155
157
  # association to assets
156
158
  has_many :assets,
159
+ :order => 'publishdate',
157
160
  :foreign_key => 'userid'
158
161
 
159
162
  # association to wiki pages
@@ -211,6 +214,10 @@ class User < ActiveRecord::Base
211
214
  def birthday
212
215
  self.contact.birthday
213
216
  end
217
+ def birthday=(val)
218
+ self.contact.birthday = val
219
+ self.contact.save
220
+ end
214
221
 
215
222
  def streetaddress
216
223
  self.address.street1
data/lib/usergroup.rb CHANGED
@@ -12,12 +12,12 @@ class Usergroup < ActiveRecord::Base
12
12
 
13
13
  # association to direct groups
14
14
  has_and_belongs_to_many :groups,
15
- :join_table => 'groups_usergroups',
16
- :foreign_key => 'usergroupid',
17
- :association_foreign_key => 'groupid'
15
+ :join_table => 'groups_usergroups',
16
+ :foreign_key => 'usergroupid',
17
+ :association_foreign_key => 'groupid'
18
18
 
19
19
  has_one :parent,
20
- :class_name => 'Usergroup',
20
+ :class_name => 'Usergroup',
21
21
  :foreign_key => 'parentusergroupid'
22
22
 
23
23
  end
data/lib/web/layout.rb CHANGED
@@ -21,6 +21,10 @@ module Web
21
21
  has_many :resources,
22
22
  :foreign_key => 'primkey'
23
23
 
24
+ def layoutset
25
+ Web::LayoutSet.find(:first, :conditions => "groupid=#{self.groupid} AND privatelayout=#{self.privatelayout}" )
26
+ end
27
+
24
28
  def portletids
25
29
  begin
26
30
  ts = self.typesettings
@@ -3,35 +3,39 @@ module Web
3
3
  class LayoutSet < ActiveRecord::Base
4
4
  set_table_name :layoutset
5
5
  set_primary_key :layoutsetid
6
-
6
+
7
7
  # com.liferay.portal.model.LayoutSet
8
8
  def liferay_class
9
9
  'com.liferay.portal.model.LayoutSet'
10
10
  end
11
-
11
+
12
12
  public
13
-
13
+
14
14
  belongs_to :group,
15
15
  :foreign_key => 'groupid'
16
-
16
+
17
17
  belongs_to :company,
18
18
  :foreign_key => 'companyid'
19
-
19
+
20
20
  def is_public?
21
21
  !self.privatelayout
22
22
  end
23
-
23
+
24
24
  def is_private?
25
25
  self.privatelayout
26
26
  end
27
-
27
+
28
28
  def has_logo?
29
29
  self.logo
30
30
  end
31
-
31
+
32
+ def layouts
33
+ Web::Layout.find(:all, :conditions => "groupid=#{self.groupid} AND privatelayout=#{self.privatelayout}" )
34
+ end
35
+
32
36
  #?
33
37
  # has_one :resource,
34
38
  # :foreign_key => 'primkey'
35
-
36
- end
39
+
40
+ end
37
41
  end
data/lib/web/portlet.rb CHANGED
@@ -3,21 +3,21 @@ module Web
3
3
  class Portlet < ActiveRecord::Base
4
4
  set_table_name :portlet
5
5
  set_primary_key :id_
6
-
6
+
7
7
  public
8
-
8
+
9
9
  belongs_to :company,
10
10
  :foreign_key => "companyid"
11
-
11
+
12
12
  # primkey in resource_ table
13
13
  def primkey(plid)
14
14
  "#{plid}_LAYOUT_#{self.portletid}"
15
15
  end
16
-
16
+
17
17
  def resource(plid)
18
18
  Resource.find_by_primkey(self.primkey(plid))
19
19
  end
20
-
20
+
21
21
  # all instances
22
22
  def resources
23
23
  # Resource.find_by_primkey(self.primkey)
@@ -26,18 +26,18 @@ module Web
26
26
  ResourceCode.find(:all, :conditions => "name='#{portletid}'").each do |rc|
27
27
  resources << Resource.find(:all, :conditions => "codeid='#{rc.id}'")
28
28
  end
29
-
29
+
30
30
  return resources.flatten
31
31
  end
32
-
32
+
33
33
  def is_active?
34
34
  self.active_
35
35
  end
36
-
36
+
37
37
  # comply API with Web::Portlet.resource
38
38
  def preferences_
39
39
  ""
40
40
  end
41
-
41
+
42
42
  end
43
43
  end
@@ -2,28 +2,28 @@ module Web
2
2
  class PortletPreferences < ActiveRecord::Base
3
3
  set_table_name :portletpreferences
4
4
  set_primary_key :portletpreferencesid
5
-
5
+
6
6
  public
7
-
7
+
8
8
  belongs_to :layout,
9
9
  :class_name => 'Web::Layout',
10
10
  :foreign_key => 'plid'
11
-
11
+
12
12
  belongs_to :owner,
13
13
  :class_name => 'User',
14
14
  :foreign_key => 'ownerid'
15
-
15
+
16
16
  # primkey in resource_ table
17
17
  def primkey
18
18
  "#{self.plid}_LAYOUT_#{self.portletid}"
19
19
  end
20
-
20
+
21
21
  # argument plid is to comply API with Web::Portlet.resource
22
22
  def resource(plid)
23
23
  Resource.find_by_primkey(self.primkey)
24
24
  # Resource.find(:all, :conditions => "primkey='#{self.primkey}'")
25
25
  end
26
-
26
+
27
27
  # loads the preferences XML structure to Ruby Hash
28
28
  def preferences_
29
29
  xml = REXML::Document.new(self.preferences)
data/lib/wiki/page.rb CHANGED
@@ -8,6 +8,9 @@ module Wiki
8
8
  'com.liferay.portlet.wiki.model.WikiPage'
9
9
  end
10
10
 
11
+ belongs_to :company,
12
+ :foreign_key => 'companyid'
13
+
11
14
  # association to WikiNode
12
15
  belongs_to :node,
13
16
  :class_name => 'Wiki::Node',
data/lportal.rb CHANGED
@@ -4,6 +4,17 @@ require 'active_record'
4
4
  file = File.symlink?(__FILE__) ? File.readlink(__FILE__) : __FILE__
5
5
  this_dir = File.dirname(File.expand_path(file))
6
6
 
7
+ require this_dir+'/version'
8
+
9
+ # include all ruby files
7
10
  Find.find(this_dir+'/lib') do |file|
8
- require file unless FileTest.directory?(file)
11
+ if FileTest.directory?(file)
12
+ if File.basename(file) == "deprecated"
13
+ Find.prune # Don't look any further into this directory.
14
+ else
15
+ next
16
+ end
17
+ else
18
+ require file if file[/.rb$/]
19
+ end
9
20
  end
@@ -1,6 +1,8 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class AccountTest < ActiveSupport::TestCase
4
+ fixtures :account_
5
+
4
6
  def setup
5
7
  @accounts = Account.find :all
6
8
  assert !@accounts.empty?, "No accounts found"
@@ -8,13 +10,14 @@ class AccountTest < ActiveSupport::TestCase
8
10
 
9
11
  def test_company
10
12
  @accounts.each do |x|
11
- assert !x.company.nil?, "#{x.id} has no company"
13
+ assert_not_nil x.company
12
14
  end
13
15
  end
14
16
 
15
17
  def test_user
16
18
  @accounts.each do |x|
17
- assert !x.user.nil?, "#{x.id} has no user"
19
+ #assert_not_nil x.user
18
20
  end
19
21
  end
22
+
20
23
  end
@@ -1,8 +1,4 @@
1
1
  require 'test_helper'
2
2
 
3
3
  class AddressTest < ActiveSupport::TestCase
4
- # Replace this with your real tests.
5
- def test_truth
6
- assert true
7
- end
8
4
  end
@@ -0,0 +1,28 @@
1
+ require 'test_helper'
2
+
3
+ class Announcement::EntryTest < ActiveSupport::TestCase
4
+ fixtures :announcementsentry
5
+
6
+ def setup
7
+ @announcements = Announcement::Entry.all
8
+ end
9
+
10
+ def test_company
11
+ @announcements.each do |x|
12
+ assert_not_nil x.company, "#{x.id} belongs to no company"
13
+ end
14
+ end
15
+
16
+ def test_user
17
+ @announcements.each do |x|
18
+ assert_not_nil x.user, "#{x.id} belongs to no user!"
19
+ end
20
+ end
21
+
22
+ # def test_asset
23
+ # @announcements.each do |x|
24
+ # assert_not_nil x.asset
25
+ # end
26
+ # end
27
+
28
+ end