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,7 +1,12 @@
require "test_helper"
class DiaryCommentTest < ActiveSupport::TestCase
fixtures :users, :languages
fixtures :users
def setup
# Create the default language for diary entries
create(:language, :code => "en")
end
test "body must be present" do
comment = build(:diary_comment, :body => "")

View file

@ -1,7 +1,12 @@
require "test_helper"
class DiaryEntryTest < ActiveSupport::TestCase
fixtures :users, :languages
fixtures :users
def setup
# Create the default language for diary entries
create(:language, :code => "en")
end
def test_diary_entry_validations
diary_entry_valid({})

View file

@ -2,20 +2,13 @@
require "test_helper"
class LanguageTest < ActiveSupport::TestCase
fixtures :languages
def test_language_count
assert_equal 3, Language.count
end
def test_name
assert_equal "English (English)", languages(:en).name
assert_equal "German (Deutsch)", languages(:de).name
assert_equal "Slovenian (slovenščina)", languages(:sl).name
create(:language, :code => "sl", :english_name => "Slovenian", :native_name => "slovenščina")
assert_equal "Slovenian (slovenščina)", Language.find("sl").name
end
def test_load
assert_equal 3, Language.count
assert_equal 0, Language.count
assert_raise ActiveRecord::RecordNotFound do
Language.find("zh")
end

View file

@ -5,7 +5,7 @@ class UserTest < ActiveSupport::TestCase
include Rails::Dom::Testing::Assertions::SelectorAssertions
api_fixtures
fixtures :languages, :user_roles
fixtures :user_roles
def test_invalid_with_empty_attributes
user = User.new
@ -191,6 +191,10 @@ class UserTest < ActiveSupport::TestCase
end
def test_languages
create(:language, :code => "en")
create(:language, :code => "de")
create(:language, :code => "sl")
user = users(:normal_user)
assert_equal ["en"], user.languages
user.languages = %w(de fr en)