lportal 1.0.0 → 1.0.4

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