aboutsummaryrefslogtreecommitdiff
path: root/test/models
diff options
context:
space:
mode:
authorMiquel Sabaté Solà <msabate@suse.com>2024-03-14 11:34:28 +0100
committerMiquel Sabaté Solà <msabate@suse.com>2024-03-14 14:09:11 +0100
commit64e2bca8326bd46a2ad80b6a7a430dea0f81ff6b (patch)
treebf4d1894c45471ee1d38b6292b87e356737f2fb6 /test/models
parent90feff2bfcbdb5586a459c2350a4172a4423668e (diff)
downloadoperum-64e2bca8326bd46a2ad80b6a7a430dea0f81ff6b.tar.gz
operum-64e2bca8326bd46a2ad80b6a7a430dea0f81ff6b.zip
Added rubocop-minitest
Signed-off-by: Miquel Sabaté Solà <msabate@suse.com>
Diffstat (limited to 'test/models')
-rw-r--r--test/models/comment_test.rb3
-rw-r--r--test/models/search_test.rb51
-rw-r--r--test/models/thing_test.rb24
-rw-r--r--test/models/user_test.rb16
4 files changed, 40 insertions, 54 deletions
diff --git a/test/models/comment_test.rb b/test/models/comment_test.rb
index 087963a..deb1a1d 100644
--- a/test/models/comment_test.rb
+++ b/test/models/comment_test.rb
@@ -13,6 +13,7 @@ class CommentTest < ActiveSupport::TestCase
test 'has many tags through tag_references' do
comment = comments(:comment1)
- assert comment.tags.size == 1
+
+ assert_equal 1, comment.tags.size
end
end
diff --git a/test/models/search_test.rb b/test/models/search_test.rb
index 9614bc0..355beab 100644
--- a/test/models/search_test.rb
+++ b/test/models/search_test.rb
@@ -3,7 +3,7 @@
require 'test_helper'
class SearchTest < ActiveSupport::TestCase
- test 'name and body have to be present and unique' do
+ test 'name and body have to be present' do
search = Search.new(user_id: users(:user).id)
assert_raise(ActiveRecord::RecordInvalid) { search.save! }
@@ -13,6 +13,10 @@ class SearchTest < ActiveSupport::TestCase
search.name = nil
search.body = 'body'
assert_raise(ActiveRecord::RecordInvalid) { search.save! }
+ end
+
+ test 'name and body have to be unique' do
+ search = Search.new(user_id: users(:user).id)
search.name = searches(:search1).name
assert_raise(ActiveRecord::RecordInvalid) { search.save! }
@@ -20,9 +24,6 @@ class SearchTest < ActiveSupport::TestCase
search.name = 'another'
search.body = searches(:search1).body
assert_raise(ActiveRecord::RecordInvalid) { search.save! }
-
- search.body = 'another body'
- assert_difference('Search.count') { search.save! }
end
##
@@ -31,60 +32,52 @@ class SearchTest < ActiveSupport::TestCase
test 'returns all things when an empty body is given' do
res = Search.new.results
- assert res[:things].size == 2
- assert res[:things][0][:target] == things(:thing2).target
- assert res[:things][1][:target] == things(:thing1).target
+ assert_equal 2, res[:things].size
+ assert_equal res[:things][0][:target], things(:thing2).target
+ assert_equal res[:things][1][:target], things(:thing1).target
end
test 'returns everything matching a specific tag' do
res = Search.new(body: "tag:'#{tags(:tag1).name}'").results
- assert res[:things].size == 2
- assert res[:things][0][:target] == things(:thing2).target
- assert res[:things][1][:target] == things(:thing1).target
- assert res[:comments].size == 1
- assert res[:comments][0][:id] == comments(:comment1).id
+ assert_equal res[:things].map(&:target), [things(:thing2).target, things(:thing1).target]
+ assert_equal res[:comments].map(&:id), [comments(:comment1).id]
end
test 'returns everything matching two tags' do
res = Search.new(body: "tag:'#{tags(:tag1).name}' tag:'#{tags(:tag2).name}'").results
- assert res[:things].size == 1
- assert res[:things][0][:target] == things(:thing1).target
- assert res[:comments].empty?
+ assert_equal 1, res[:things].size
+ assert_equal res[:things][0][:target], things(:thing1).target
+ assert_empty res[:comments]
end
test 'returns everything matching a given text' do
res = Search.new(body: 'Miquel').results
- assert res[:things].size == 2
- assert res[:things][0][:target] == things(:thing2).target
- assert res[:things][1][:target] == things(:thing1).target
- assert res[:comments].size == 1
- assert res[:comments][0][:id] == comments(:comment1).id
+ assert_equal res[:things].map(&:target), [things(:thing2).target, things(:thing1).target]
+ assert_equal res[:comments].map(&:id), [comments(:comment1).id]
end
test 'returns everything matching two tags and a given text' do
res = Search.new(body: "Miquel tag:'#{tags(:tag1).name}' tag:'#{tags(:tag2).name}'").results
- assert res[:things].size == 1
- assert res[:things][0][:target] == things(:thing1).target
- assert res[:comments].empty?
+ assert_equal 1, res[:things].size
+ assert_equal res[:things][0][:target], things(:thing1).target
+ assert_empty res[:comments]
end
test 'returns everything matching a given compound text' do
res = Search.new(body: 'some other').results
- assert res[:things].size == 2
- assert res[:things][0][:target] == things(:thing2).target
- assert res[:things][1][:target] == things(:thing1).target
- assert res[:comments].empty?
+ assert_equal res[:things].map(&:target), [things(:thing2).target, things(:thing1).target]
+ assert_empty res[:comments]
end
test 'returns an empty result with unknown fields' do
res = Search.new(body: 'whatever:"unknown"').results
- assert res[:things].empty?
- assert res[:comments].empty?
+ assert_empty res[:things]
+ assert_empty res[:comments]
end
end
diff --git a/test/models/thing_test.rb b/test/models/thing_test.rb
index 0b3961e..766a5e2 100644
--- a/test/models/thing_test.rb
+++ b/test/models/thing_test.rb
@@ -3,36 +3,28 @@
require 'test_helper'
class ThingTest < ActiveSupport::TestCase
- test 'validates presence' do
- assert_raise(ActiveRecord::RecordInvalid) { Thing.new.save! }
-
- # Missing 'title'
+ test 'presence: title' do
assert_raise(ActiveRecord::RecordInvalid) do
Thing.new(target: 'target', authors: 'Author',
user_id: users(:user).id, rate: 5,
status: Thing.statuses[:read], kind: Thing.kinds[:novel]).save!
end
+ end
- # Missing 'target'
+ test 'presence: target' do
assert_raise(ActiveRecord::RecordInvalid) do
Thing.new(title: 'title', authors: 'Author',
user_id: users(:user).id, rate: 5,
status: Thing.statuses[:read], kind: Thing.kinds[:novel]).save!
end
+ end
- # Missing 'authors'
+ test 'presence: authors' do
assert_raise(ActiveRecord::RecordInvalid) do
Thing.new(title: 'title', target: 'target',
user_id: users(:user).id, rate: 5,
status: Thing.statuses[:read], kind: Thing.kinds[:novel]).save!
end
-
- # Valid!
- assert_difference('Thing.count') do
- Thing.new(title: 'title', target: 'target', authors: 'Author',
- user_id: users(:user).id, rate: 5,
- status: Thing.statuses[:read], kind: Thing.kinds[:novel]).save!
- end
end
test "'rate' has to be between 0 and 10" do
@@ -85,11 +77,13 @@ class ThingTest < ActiveSupport::TestCase
test 'has many comments' do
thing = things(:thing1)
- assert thing.comments.size == 1
+
+ assert_equal 1, thing.comments.size
end
test 'has many tags through tag_references' do
thing = things(:thing1)
- assert thing.tags.size == 2
+
+ assert_equal 2, thing.tags.size
end
end
diff --git a/test/models/user_test.rb b/test/models/user_test.rb
index 6ff5e19..e22afa7 100644
--- a/test/models/user_test.rb
+++ b/test/models/user_test.rb
@@ -3,21 +3,19 @@
require 'test_helper'
class UserTest < ActiveSupport::TestCase
- test 'has to provide username and password' do
+ test 'presence: username' do
user = User.new
+ user.password = '1234'
+ user.password_confirmation = '12345'
+
assert_raise(ActiveRecord::RecordInvalid) { user.save! }
+ end
+ test 'presence: password' do
+ user = User.new
user.username = 'whatever'
- assert_raise(ActiveRecord::RecordInvalid) { user.save! }
- user.password = '1234'
- user.password_confirmation = '12345'
assert_raise(ActiveRecord::RecordInvalid) { user.save! }
-
- user.password_confirmation = '1234'
- assert_difference('User.count') do
- user.save!
- end
end
test 'username has to be unique' do