Can now run tests that use composite_primary_keys in the fixtures. Adding a new test...
authorShaun McDonald <shaun@shaunmcdonald.me.uk>
Tue, 15 Jul 2008 15:51:45 +0000 (15:51 +0000)
committerShaun McDonald <shaun@shaunmcdonald.me.uk>
Tue, 15 Jul 2008 15:51:45 +0000 (15:51 +0000)
test/fixtures/user_preferences.yml
test/test_helper.rb
test/unit/user_preference_test.rb
test/unit/user_test.rb

index 5bf02933a3a79bfacb88dad9d4f4799f3cf20600..ab95c357db65ac601504e967e3c9f613bac4d6c6 100644 (file)
@@ -1,7 +1,11 @@
 # Read about fixtures at http://ar.rubyonrails.org/classes/Fixtures.html
 
-# one:
-#   column: value
-#
-# two:
-#   column: value
+a:
+  user: normal_user
+  k: "key"
+  v: "value"
+
+two:
+  user: normal_user
+  k: "some_key"
+  v: "some_value"
index b1d7a8fcc280dec9ac39ddbbad7c90de4adf0c2c..e954a9495c2cb63a2dda534e7d7648a89e4fb921 100644 (file)
@@ -1,6 +1,7 @@
 ENV["RAILS_ENV"] = "test"
 require File.expand_path(File.dirname(__FILE__) + "/../config/environment")
 require 'test_help'
+load 'composite_primary_keys/fixtures.rb'
 
 class Test::Unit::TestCase
   # Transactional fixtures accelerate your tests by wrapping each test method
index bd4e800150c89d8200c20855ee78919cfeff4b98..d591db69d5d0ce35fac9dfeafd829dcab5225b8d 100644 (file)
@@ -1,8 +1,26 @@
 require File.dirname(__FILE__) + '/../test_helper'
 
 class UserPreferenceTest < ActiveSupport::TestCase
-  # Replace this with your real tests.
-  def test_truth
-    assert true
+  fixtures :users, :user_preferences
+
+  # 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
+
+  # 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
index 76c32a88d87da26e80cdaf5666d2676e521cd505..732b5b73a0a611d7ba837982d7628a541db8eda8 100644 (file)
@@ -25,4 +25,15 @@ class UserTest < Test::Unit::TestCase
     assert !new_user.save
     assert_equal ActiveRecord::Errors.default_error_messages[:taken], new_user.errors.on(:email)
   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