Merge remote-tracking branch 'openstreetmap/pull/1279'

This commit is contained in:
Tom Hughes 2016-09-08 19:26:07 +01:00
commit f02729fa9a
7 changed files with 45 additions and 20 deletions

View file

@ -109,5 +109,6 @@ group :development, :test do
gem "jshint"
gem "konacha"
gem "poltergeist"
gem "factory_girl_rails"
gem "coveralls", :require => false
end

View file

@ -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)

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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

View file

@ -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"