]> git.openstreetmap.org Git - rails.git/blobdiff - test/models/user_test.rb
Fix validation failures for trace tags
[rails.git] / test / models / user_test.rb
index b517fd2af8fbb5f0ebd373db6ebe013dda5da62d..adae97a0e759ab664dc726e1fd5ea5ffc3ae7c2b 100644 (file)
@@ -1,7 +1,9 @@
 # -*- coding: utf-8 -*-
-require 'test_helper'
+require "test_helper"
 
 class UserTest < ActiveSupport::TestCase
+  include Rails::Dom::Testing::Assertions::SelectorAssertions
+
   api_fixtures
   fixtures :friends, :languages, :user_roles
 
@@ -21,7 +23,7 @@ class UserTest < ActiveSupport::TestCase
     new_user = User.new(
       :email => users(:normal_user).email,
       :status => "active",
-      :pass_crypt => Digest::MD5.hexdigest('test'),
+      :pass_crypt => Digest::MD5.hexdigest("test"),
       :display_name => "new user",
       :data_public => 1,
       :description => "desc"
@@ -34,7 +36,7 @@ class UserTest < ActiveSupport::TestCase
     new_user = User.new(
       :email => "tester@openstreetmap.org",
       :status => "pending",
-      :pass_crypt => Digest::MD5.hexdigest('test'),
+      :pass_crypt => Digest::MD5.hexdigest("test"),
       :display_name => users(:normal_user).display_name,
       :data_public => 1,
       :description => "desc"
@@ -121,6 +123,8 @@ class UserTest < ActiveSupport::TestCase
     assert_equal [], users(:inactive_user).nearby
     # north_pole_user has no user nearby, and doesn't throw exception
     assert_equal [], users(:north_pole_user).nearby
+    # confirmed_user has no home location
+    assert_equal [], users(:confirmed_user).nearby
   end
 
   def test_friends_with
@@ -243,4 +247,24 @@ class UserTest < ActiveSupport::TestCase
     assert_equal false, user.visible?
     assert_equal false, user.active?
   end
+
+  def test_to_xml
+    user = users(:normal_user)
+    xml = user.to_xml
+    assert_select Nokogiri::XML::Document.parse(xml.to_s), "user" do
+      assert_select "[display_name=?]", user.display_name
+      assert_select "[account_created=?]", user.creation_time.xmlschema
+      assert_select "home[lat=?][lon=?][zoom=?]", user.home_lat.to_s, user.home_lon.to_s, user.home_zoom.to_s
+    end
+  end
+
+  def test_to_xml_node
+    user = users(:normal_user)
+    xml = user.to_xml_node
+    assert_select Nokogiri::XML::DocumentFragment.parse(xml.to_s), "user" do
+      assert_select "[display_name=?]", user.display_name
+      assert_select "[account_created=?]", user.creation_time.xmlschema
+      assert_select "home[lat=?][lon=?][zoom=?]", user.home_lat.to_s, user.home_lon.to_s, user.home_zoom.to_s
+    end
+  end
 end