From 64e2bca8326bd46a2ad80b6a7a430dea0f81ff6b Mon Sep 17 00:00:00 2001 From: Miquel Sabaté Solà Date: Thu, 14 Mar 2024 11:34:28 +0100 Subject: Added rubocop-minitest MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Miquel Sabaté Solà --- test/models/comment_test.rb | 3 ++- test/models/search_test.rb | 51 +++++++++++++++++++-------------------------- test/models/thing_test.rb | 24 ++++++++------------- test/models/user_test.rb | 16 +++++++------- 4 files changed, 40 insertions(+), 54 deletions(-) (limited to 'test/models') 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 -- cgit v1.2.3