[Git][noosfero/noosfero][master] creating new tests for followers stuff
Leandro Nunes
gitlab at mg.gitlab.com
Wed Mar 9 16:34:57 BRT 2016
Leandro Nunes pushed to branch master at Noosfero / noosfero
Commits:
ccc53a30 by Leandro Nunes dos Santos at 2016-03-09T16:32:55-03:00
creating new tests for followers stuff
- - - - -
2 changed files:
- test/unit/article_test.rb
- test/unit/person_test.rb
Changes:
=====================================
test/unit/article_test.rb
=====================================
--- a/test/unit/article_test.rb
+++ b/test/unit/article_test.rb
@@ -22,21 +22,6 @@ class ArticleTest < ActiveSupport::TestCase
refute a.errors[:profile_id.to_s].present?
end
- should 'keep unique users in list of followers' do
- person1 = create_user('article_owner').person
- person2 = create_user('article_follower').person
-
- article = fast_create(Article, :profile_id => person1.id)
-
- article.person_followers=[person2]
- article.save
- article.reload
- article.person_followers=[person2]
- article.save
-
- assert_equal 1, article.reload.person_followers.size
- end
-
should 'require value for name' do
a = Article.new
a.valid?
@@ -1713,11 +1698,6 @@ class ArticleTest < ActiveSupport::TestCase
assert post.allow_edit?(author)
end
- should 'has a empty list of followers by default' do
- a = Article.new
- assert_equal [], a.person_followers
- end
-
should 'get first image from lead' do
a = fast_create(Article, :body => '<p>Foo</p><p><img src="bar.png" />Bar<img src="foo.png" /></p>',
:abstract => '<p>Lead</p><p><img src="leadbar.png" />Bar<img src="leadfoo.png" /></p>')
@@ -2269,5 +2249,44 @@ class ArticleTest < ActiveSupport::TestCase
end
end
+ should 'the owner not in followers list' do
+ person1 = create_user('article_owner').person
+ person2 = create_user('article_follower').person
+
+ article = fast_create(Article, :profile_id => person1.id)
+
+ article.person_followers=[person2]
+ article.save
+ article.reload
+ article.person_followers=[person2]
+ article.save
+
+ assert_equal [person2], article.reload.person_followers
+ end
+
+ should 'has a empty list of followers by default' do
+ a = Article.new
+ assert_equal [], a.person_followers
+ end
+
+ should 'a follower not be duplicated' do
+ follower = create_user('article_follower').person
+
+ article = fast_create(Article, :profile_id => fast_create(Person))
+
+ article.person_followers<< follower
+ assert_raises (ActiveRecord::RecordNotUnique) { article.person_followers<< follower }
+ end
+
+ should 'an article be follower by many users' do
+ article = fast_create(Article, :profile_id => fast_create(Person))
+
+ 1.upto(10).map do |n|
+ article.person_followers<< fast_create(Person)
+ end
+ article.save
+ assert_equal 10, article.reload.person_followers.count
+ end
+
end
=====================================
test/unit/person_test.rb
=====================================
--- a/test/unit/person_test.rb
+++ b/test/unit/person_test.rb
@@ -1934,4 +1934,14 @@ class PersonTest < ActiveSupport::TestCase
assert !person.member_relation_of(community).empty?, "Person '#{person.identifier}' is not a member of Community '#{community.identifier}'"
assert person.member_since_date(community) == Date.today,"Person '#{person.identifier}' is not added like a member of Community '#{community.identifier}' today"
end
+
+ should 'a person follows many articles' do
+ person = create_user('article_follower').person
+
+ 1.upto(10).map do |n|
+ person.following_articles << fast_create(Article, :profile_id => fast_create(Person))
+ end
+ assert_equal 10, person.following_articles.count
+ end
+
end
View it on GitLab: https://gitlab.com/noosfero/noosfero/commit/ccc53a309872248683ad35cb48d3afe35b6e4c1f
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listas.softwarelivre.org/pipermail/noosfero-dev/attachments/20160309/1d80e903/attachment-0001.html>
More information about the Noosfero-dev
mailing list