From: Tom Hughes Date: Thu, 8 Sep 2016 18:26:07 +0000 (+0100) Subject: Merge remote-tracking branch 'openstreetmap/pull/1279' X-Git-Tag: live~3810 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/f02729fa9a29089224502fecc7bf347fa73db0dd?hp=f3f1687fa300971c793d59e0ae52c81d1076a02a Merge remote-tracking branch 'openstreetmap/pull/1279' --- diff --git a/Gemfile b/Gemfile index 07bb60c68..27f457d03 100644 --- a/Gemfile +++ b/Gemfile @@ -109,5 +109,6 @@ group :development, :test do gem "jshint" gem "konacha" gem "poltergeist" + gem "factory_girl_rails" gem "coveralls", :require => false end diff --git a/Gemfile.lock b/Gemfile.lock index d8c141f69..5a9456b35 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -83,6 +83,11 @@ GEM erubis (2.7.0) execjs (2.7.0) exifr (1.2.4) + factory_girl (4.7.0) + activesupport (>= 3.0.0) + factory_girl_rails (4.7.0) + factory_girl (~> 4.7.0) + railties (>= 3.0.0) faraday (0.9.2) multipart-post (>= 1.2, < 3) fspath (2.1.1) @@ -316,6 +321,7 @@ DEPENDENCIES dalli deadlock_retry (>= 1.2.0) dynamic_form + factory_girl_rails faraday htmlentities http_accept_language (~> 2.0.0) diff --git a/test/factories/diary_comments.rb b/test/factories/diary_comments.rb new file mode 100644 index 000000000..810bd2f7a --- /dev/null +++ b/test/factories/diary_comments.rb @@ -0,0 +1,10 @@ +FactoryGirl.define do + factory :diary_comment do + sequence(:body) { |n| "This is diary comment #{n}" } + + diary_entry + + # Fixme requires User Factory + user_id 1 + end +end diff --git a/test/factories/diary_entries.rb b/test/factories/diary_entries.rb new file mode 100644 index 000000000..d00a97dc5 --- /dev/null +++ b/test/factories/diary_entries.rb @@ -0,0 +1,9 @@ +FactoryGirl.define do + factory :diary_entry do + sequence(:title) { |n| "Diary entry #{n}" } + sequence(:body) { |n| "This is diary entry #{n}" } + + # Fixme requires User Factory + user_id 1 + end +end diff --git a/test/models/diary_comment_test.rb b/test/models/diary_comment_test.rb index a32c153f9..908c79bfa 100644 --- a/test/models/diary_comment_test.rb +++ b/test/models/diary_comment_test.rb @@ -1,10 +1,8 @@ require "test_helper" class DiaryCommentTest < ActiveSupport::TestCase - api_fixtures - fixtures :diary_comments - - def test_diary_comment_count - assert_equal 4, DiaryComment.count + def test_diary_comment_exists + comment = create(:diary_comment) + assert_includes DiaryComment.all, comment end end diff --git a/test/models/diary_entry_test.rb b/test/models/diary_entry_test.rb index 58e6513a6..5586b74d2 100644 --- a/test/models/diary_entry_test.rb +++ b/test/models/diary_entry_test.rb @@ -1,13 +1,6 @@ require "test_helper" class DiaryEntryTest < ActiveSupport::TestCase - api_fixtures - fixtures :diary_entries, :diary_comments, :languages - - def test_diary_entry_count - assert_equal 6, DiaryEntry.count - end - def test_diary_entry_validations diary_entry_valid({}) diary_entry_valid({ :title => "" }, false) @@ -25,27 +18,33 @@ class DiaryEntryTest < ActiveSupport::TestCase end def test_diary_entry_visible - assert_equal 5, DiaryEntry.visible.count + visible = create(:diary_entry) + hidden = create(:diary_entry, :visible => false) + assert_includes DiaryEntry.visible, visible assert_raise ActiveRecord::RecordNotFound do - DiaryEntry.visible.find(diary_entries(:deleted_entry).id) + DiaryEntry.visible.find(hidden.id) end end def test_diary_entry_comments - assert_equal 0, diary_entries(:normal_user_entry_1).comments.count - assert_equal 4, diary_entries(:normal_user_geo_entry).comments.count + diary = create(:diary_entry) + assert_equal(0, diary.comments.count) + create(:diary_comment, :diary_entry => diary) + assert_equal(1, diary.comments.count) end def test_diary_entry_visible_comments - assert_equal 0, diary_entries(:normal_user_entry_1).visible_comments.count - assert_equal 1, diary_entries(:normal_user_geo_entry).visible_comments.count + diary = create(:diary_entry) + create(:diary_comment, :diary_entry => diary) + create(:diary_comment, :diary_entry => diary, :visible => false) + assert_equal 1, diary.visible_comments.count + assert_equal 2, diary.comments.count end private def diary_entry_valid(attrs, result = true) - entry = DiaryEntry.new(diary_entries(:normal_user_entry_1).attributes) - entry.assign_attributes(attrs) + entry = build(:diary_entry, attrs) assert_equal result, entry.valid?, "Expected #{attrs.inspect} to be #{result}" end end diff --git a/test/test_helper.rb b/test/test_helper.rb index 0baf92270..419ea1806 100644 --- a/test/test_helper.rb +++ b/test/test_helper.rb @@ -8,6 +8,8 @@ load "composite_primary_keys/fixtures.rb" module ActiveSupport class TestCase + include FactoryGirl::Syntax::Methods + # Load standard fixtures needed to test API methods def self.api_fixtures # print "setting up the api_fixtures"