Convert the languages fixtures to a factory

For some tests, the existance of an 'en' language is assumed by
the database structure (not null default 'en'::character varying) so
this can be created in a setup block.
This commit is contained in:
Andy Allan 2016-10-26 13:14:52 +01:00
parent 7725cd59b4
commit c365e2b28a
7 changed files with 39 additions and 30 deletions

View file

@ -1,10 +1,15 @@
require "test_helper"
class DiaryEntryControllerTest < ActionController::TestCase
fixtures :users, :user_roles, :languages
fixtures :users, :user_roles
include ActionView::Helpers::NumberHelper
def setup
# Create the default language for diary entries
create(:language, :code => "en")
end
##
# test all routes which lead to this controller
def test_routes
@ -162,6 +167,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
assert_equal new_language_code, UserPreference.where(:user_id => users(:normal_user).id, :k => "diary.default_language").first.v
new_language_code = "de"
create(:language, :code => new_language_code)
# Now try creating a diary entry in a different language
assert_difference "DiaryEntry.count", 1 do
@ -472,6 +478,8 @@ class DiaryEntryControllerTest < ActionController::TestCase
end
def test_list_language
create(:language, :code => "de")
create(:language, :code => "sl")
diary_entry_en = create(:diary_entry, :language_code => "en")
diary_entry_en2 = create(:diary_entry, :language_code => "en")
diary_entry_de = create(:diary_entry, :language_code => "de")
@ -490,6 +498,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
end
def test_rss
create(:language, :code => "de")
create(:diary_entry, :language_code => "en")
create(:diary_entry, :language_code => "en")
create(:diary_entry, :language_code => "de")
@ -506,6 +515,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
end
def test_rss_language
create(:language, :code => "de")
create(:diary_entry, :language_code => "en")
create(:diary_entry, :language_code => "en")
create(:diary_entry, :language_code => "de")
@ -521,6 +531,7 @@ class DiaryEntryControllerTest < ActionController::TestCase
# end
def test_rss_language_with_no_entries
create(:language, :code => "sl")
create(:diary_entry, :language_code => "en")
get :rss, :language => "sl", :format => :rss