Can now run tests that use composite_primary_keys in the fixtures. Adding a new test to check that you can't add duplicate user preferences, and the display name of the user is guaranteed to be unique.
This commit is contained in:
parent
c9a171c745
commit
cf78f3e6dd
4 changed files with 42 additions and 8 deletions
14
test/fixtures/user_preferences.yml
vendored
14
test/fixtures/user_preferences.yml
vendored
|
@ -1,7 +1,11 @@
|
||||||
# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
|
# Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
|
||||||
|
|
||||||
# one:
|
a:
|
||||||
# column: value
|
user: normal_user
|
||||||
#
|
k: "key"
|
||||||
# two:
|
v: "value"
|
||||||
# column: value
|
|
||||||
|
two:
|
||||||
|
user: normal_user
|
||||||
|
k: "some_key"
|
||||||
|
v: "some_value"
|
||||||
|
|
|
@ -1,6 +1,7 @@
|
||||||
ENV["RAILS_ENV"] = "test"
|
ENV["RAILS_ENV"] = "test"
|
||||||
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
|
require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
|
||||||
require 'test_help'
|
require 'test_help'
|
||||||
|
load 'composite_primary_keys/fixtures.rb'
|
||||||
|
|
||||||
class Test::Unit::TestCase
|
class Test::Unit::TestCase
|
||||||
# Transactional fixtures accelerate your tests by wrapping each test method
|
# Transactional fixtures accelerate your tests by wrapping each test method
|
||||||
|
|
|
@ -1,8 +1,26 @@
|
||||||
require File.dirname(__FILE__) + '/../test_helper'
|
require File.dirname(__FILE__) + '/../test_helper'
|
||||||
|
|
||||||
class UserPreferenceTest < ActiveSupport::TestCase
|
class UserPreferenceTest < ActiveSupport::TestCase
|
||||||
# Replace this with your real tests.
|
fixtures :users, :user_preferences
|
||||||
def test_truth
|
|
||||||
assert true
|
# This checks to make sure that there are two user preferences
|
||||||
|
# stored in the test database.
|
||||||
|
# This test needs to be updated for every addition/deletion from
|
||||||
|
# the fixture file
|
||||||
|
def test_check_count
|
||||||
|
assert_equal 2, UserPreference.count
|
||||||
end
|
end
|
||||||
|
|
||||||
|
# Checks that you cannot add a new preference, that is a duplicate
|
||||||
|
def test_add_duplicate_preference
|
||||||
|
up = user_preferences(:a)
|
||||||
|
newUP = UserPreference.new
|
||||||
|
newUP.user = users(:normal_user)
|
||||||
|
newUP.k = up.k
|
||||||
|
newUP.v = "some other value"
|
||||||
|
assert_not_equal newUP.v, up.v
|
||||||
|
assert_raise (ActiveRecord::StatementInvalid) {newUP.save}
|
||||||
|
end
|
||||||
|
|
||||||
|
|
||||||
end
|
end
|
||||||
|
|
|
@ -25,4 +25,15 @@ class UserTest < Test::Unit::TestCase
|
||||||
assert !new_user.save
|
assert !new_user.save
|
||||||
assert_equal ActiveRecord::Errors.default_error_messages[:taken], new_user.errors.on(:email)
|
assert_equal ActiveRecord::Errors.default_error_messages[:taken], new_user.errors.on(:email)
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def test_unique_display_name
|
||||||
|
new_user = User.new(:email => "tester@openstreetmap.org",
|
||||||
|
:active => 0,
|
||||||
|
:pass_crypt => Digest::MD5.hexdigest('test'),
|
||||||
|
:display_name => users(:normal_user).display_name,
|
||||||
|
:data_public => 1,
|
||||||
|
:description => "desc")
|
||||||
|
assert !new_user.save
|
||||||
|
assert_equal ActiveRecord::Errors.default_error_messages[:taken], new_user.errors.on(:display_name)
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue