]> git.openstreetmap.org Git - rails.git/commitdiff
Merge remote-tracking branch 'openstreetmap/pull/1495'
authorTom Hughes <tom@compton.nu>
Wed, 22 Mar 2017 19:11:04 +0000 (19:11 +0000)
committerTom Hughes <tom@compton.nu>
Wed, 22 Mar 2017 19:11:04 +0000 (19:11 +0000)
test/controllers/browse_controller_test.rb
test/factories/changeset_comments.rb
test/factories/changesets.rb [new file with mode: 0644]
test/factories/old_node.rb
test/helpers/changeset_helper_test.rb
test/models/changeset_comment_test.rb
test/models/changeset_test.rb
test/models/node_test.rb

index 19f60035b89dc9fcc91b29315a794dbdf6be2328..567fc0576cabe29b7ba05173b9433748832feceb 100644 (file)
@@ -75,15 +75,16 @@ class BrowseControllerTest < ActionController::TestCase
   end
 
   def test_read_changeset_hidden_comments
-    create_list(:changeset_comment, 3)
-    create(:changeset_comment, :visible => false)
+    changeset = create(:changeset)
+    create_list(:changeset_comment, 3, :changeset => changeset)
+    create(:changeset_comment, :visible => false, :changeset => changeset)
 
-    browse_check "changeset", changesets(:normal_user_closed_change).id, "browse/changeset"
+    browse_check "changeset", changeset.id, "browse/changeset"
     assert_select "div.changeset-comments ul li", :count => 3
 
     session[:user] = create(:moderator_user).id
 
-    browse_check "changeset", changesets(:normal_user_closed_change).id, "browse/changeset"
+    browse_check "changeset", changeset.id, "browse/changeset"
     assert_select "div.changeset-comments ul li", :count => 4
   end
 
index d12c1b653c391f2c8d94ccd597ad38d27ae7980e..04644580fd30eda3d43446e4f48707e885fe28a0 100644 (file)
@@ -3,8 +3,7 @@ FactoryGirl.define do
     sequence(:body) { |n| "Changeset comment #{n}" }
     visible true
 
-    # FIXME: needs changeset factory
-    changeset_id 3
+    changeset
 
     association :author, :factory => :user
   end
diff --git a/test/factories/changesets.rb b/test/factories/changesets.rb
new file mode 100644 (file)
index 0000000..f76b731
--- /dev/null
@@ -0,0 +1,8 @@
+FactoryGirl.define do
+  factory :changeset do
+    created_at Time.now.utc
+    closed_at Time.now.utc + 1.day
+
+    user
+  end
+end
index ecf096ecad11035fc848c5ea33975552968e9f17..403ffc0ea04b539c0ad2b4a5fea8463104c5b77d 100644 (file)
@@ -3,8 +3,7 @@ FactoryGirl.define do
     latitude 1 * GeoRecord::SCALE
     longitude 1 * GeoRecord::SCALE
 
-    # FIXME: needs changeset factory
-    changeset_id 1
+    changeset
 
     # FIXME: needs node factory
     node_id 1000
index 8342f99d251693eefbc7ba6e58fda0d9c7b8224f..9c45b62dc8228b79017dce349fe645f16186e67a 100644 (file)
@@ -1,16 +1,27 @@
 require "test_helper"
 
 class ChangesetHelperTest < ActionView::TestCase
-  fixtures :changesets, :users
-
   def test_changeset_user_link
-    assert_equal "<a href=\"/user/test2\">test2</a>", changeset_user_link(changesets(:public_user_first_change))
-    assert_equal "anonymous", changeset_user_link(changesets(:normal_user_first_change))
-    assert_equal "deleted", changeset_user_link(changesets(:deleted_user_first_change))
+    changeset = create(:changeset)
+    assert_equal %(<a href="/user/#{URI.encode(changeset.user.display_name)}">#{changeset.user.display_name}</a>), changeset_user_link(changeset)
+
+    changeset = create(:changeset, :user => create(:user, :data_public => false))
+    assert_equal "anonymous", changeset_user_link(changeset)
+
+    changeset = create(:changeset, :user => create(:user, :deleted))
+    assert_equal "deleted", changeset_user_link(changeset)
   end
 
   def test_changeset_details
-    assert_match %r{^Created <abbr title='Mon, 01 Jan 2007 00:00:00 \+0000'>.*</abbr> by anonymous$}, changeset_details(changesets(:normal_user_first_change))
-    assert_match %r{^Closed <abbr title='Created: Mon, 01 Jan 2007 00:00:00 \+0000&#10;Closed: Tue, 02 Jan 2007 00:00:00 \+0000'>.*</abbr> by <a href="/user/test2">test2</a>$}, changeset_details(changesets(:public_user_closed_change))
+    changeset = create(:changeset, :created_at => Time.utc(2007, 1, 1, 0, 0, 0), :user => create(:user, :data_public => false))
+    # We need to explicitly reset the closed_at to some point in the future, and avoid the before_save callback
+    changeset.update_column(:closed_at, Time.now.utc + 1.day) # rubocop:disable Rails/SkipsModelValidations
+
+    assert_match %r{^Created <abbr title='Mon, 01 Jan 2007 00:00:00 \+0000'>.*</abbr> by anonymous$}, changeset_details(changeset)
+
+    changeset = create(:changeset, :created_at => Time.utc(2007, 1, 1, 0, 0, 0), :closed_at => Time.utc(2007, 1, 2, 0, 0, 0))
+    user_link = %(<a href="/user/#{URI.encode(changeset.user.display_name)}">#{changeset.user.display_name}</a>)
+
+    assert_match %r{^Closed <abbr title='Created: Mon, 01 Jan 2007 00:00:00 \+0000&#10;Closed: Tue, 02 Jan 2007 00:00:00 \+0000'>.*</abbr> by #{user_link}$}, changeset_details(changeset)
   end
 end
index 64fbb36637e253fec6ea954ef009c5a114f0d86b..5ef0c1d93ee9de6fca964fdc5e383fff0dd13a00 100644 (file)
@@ -33,8 +33,9 @@ class ChangesetCommentTest < ActiveSupport::TestCase
   end
 
   def test_comments_of_changeset_count
-    create_list(:changeset_comment, 3, :changeset_id => changesets(:normal_user_closed_change).id)
-    assert_equal 3, Changeset.find(changesets(:normal_user_closed_change).id).comments.count
+    changeset = create(:changeset)
+    create_list(:changeset_comment, 3, :changeset_id => changeset.id)
+    assert_equal 3, Changeset.find(changeset.id).comments.count
   end
 
   def test_body_valid
index 89200c9b5bfc1dd8a8073d91a49b56c41c9af752..a5176fa8bf7a351d5cd2ce70cb6b9f1582637a4e 100644 (file)
@@ -1,12 +1,6 @@
 require "test_helper"
 
 class ChangesetTest < ActiveSupport::TestCase
-  api_fixtures
-
-  def test_changeset_count
-    assert_equal 9, Changeset.count
-  end
-
   def test_from_xml_no_text
     no_text = ""
     message_create = assert_raise(OSM::APIBadXMLError) do
index 85bdfc99559a60f4805f83d7625eb6c7ea8b3dad..31f7d6ed5f47aaebc33e631572a8d49748ebf588 100644 (file)
@@ -77,14 +77,15 @@ class NodeTest < ActiveSupport::TestCase
 
   # Check that you can create a node and store it
   def test_create
+    changeset = create(:changeset)
     node_template = Node.new(
       :latitude => 12.3456,
       :longitude => 65.4321,
-      :changeset_id => changesets(:normal_user_first_change).id,
+      :changeset_id => changeset.id,
       :visible => 1,
       :version => 1
     )
-    assert node_template.create_with_history(changesets(:normal_user_first_change).user)
+    assert node_template.create_with_history(changeset.user)
 
     node = Node.find(node_template.id)
     assert_not_nil node