]> git.openstreetmap.org Git - rails.git/commitdiff
Add transient bbox attribute to changesets factory
authorAnton Khorev <tony29@yandex.ru>
Tue, 8 Apr 2025 08:04:19 +0000 (11:04 +0300)
committerAnton Khorev <tony29@yandex.ru>
Wed, 9 Apr 2025 14:06:42 +0000 (17:06 +0300)
test/controllers/api/changesets_controller_test.rb
test/controllers/changesets_controller_test.rb
test/factories/changesets.rb
test/system/browse_comment_links_test.rb
test/system/history_test.rb

index 4b72e432e50721a5e947a10860fdd7ca440d5876..c20b9bddcf169631b6052a1d4baf2eb098af3f7d 100644 (file)
@@ -53,8 +53,8 @@ module Api
       user = create(:user)
       changeset = create(:changeset, :user => user)
       closed_changeset = create(:changeset, :closed, :user => user, :created_at => Time.utc(2008, 1, 1, 0, 0, 0), :closed_at => Time.utc(2008, 1, 2, 0, 0, 0))
       user = create(:user)
       changeset = create(:changeset, :user => user)
       closed_changeset = create(:changeset, :closed, :user => user, :created_at => Time.utc(2008, 1, 1, 0, 0, 0), :closed_at => Time.utc(2008, 1, 2, 0, 0, 0))
-      changeset2 = create(:changeset, :min_lat => (5 * GeoRecord::SCALE).round, :min_lon => (5 * GeoRecord::SCALE).round, :max_lat => (15 * GeoRecord::SCALE).round, :max_lon => (15 * GeoRecord::SCALE).round)
-      changeset3 = create(:changeset, :min_lat => (4.5 * GeoRecord::SCALE).round, :min_lon => (4.5 * GeoRecord::SCALE).round, :max_lat => (5 * GeoRecord::SCALE).round, :max_lon => (5 * GeoRecord::SCALE).round)
+      changeset2 = create(:changeset, :bbox => [5, 5, 15, 15])
+      changeset3 = create(:changeset, :bbox => [4.5, 4.5, 5, 5])
 
       get api_changesets_path(:bbox => "-10,-10, 10, 10")
       assert_response :success, "can't get changesets in bbox"
 
       get api_changesets_path(:bbox => "-10,-10, 10, 10")
       assert_response :success, "can't get changesets in bbox"
@@ -627,9 +627,7 @@ module Api
     end
 
     def test_show_bbox_json
     end
 
     def test_show_bbox_json
-      # test bbox attribute
-      changeset = create(:changeset, :min_lat => (-5 * GeoRecord::SCALE).round, :min_lon => (5 * GeoRecord::SCALE).round,
-                                     :max_lat => (15 * GeoRecord::SCALE).round, :max_lon => (12 * GeoRecord::SCALE).round)
+      changeset = create(:changeset, :bbox => [5, -5, 12, 15])
 
       get api_changeset_path(changeset, :format => "json")
       assert_response :success, "cannot get first changeset"
 
       get api_changeset_path(changeset, :format => "json")
       assert_response :success, "cannot get first changeset"
@@ -2092,9 +2090,7 @@ module Api
       create(:changeset, :user => user, :created_at => Time.now.utc - 7.days)
 
       # create a changeset that puts us near the initial size limit
       create(:changeset, :user => user, :created_at => Time.now.utc - 7.days)
 
       # create a changeset that puts us near the initial size limit
-      changeset = create(:changeset, :user => user,
-                                     :min_lat => (-0.5 * GeoRecord::SCALE).round, :min_lon => (0.5 * GeoRecord::SCALE).round,
-                                     :max_lat => (0.5 * GeoRecord::SCALE).round, :max_lon => (2.5 * GeoRecord::SCALE).round)
+      changeset = create(:changeset, :user => user, :bbox => [0.5, -0.5, 2.5, 0.5])
 
       # create authentication header
       auth_header = bearer_authorization_header user
 
       # create authentication header
       auth_header = bearer_authorization_header user
index 7cc329ec857984363ca44da6fa9773472ca01557..914f7f651187b38ee2a5e579bdcbdc92413f4ebd 100644 (file)
@@ -91,8 +91,8 @@ class ChangesetsControllerTest < ActionDispatch::IntegrationTest
   ##
   # This should display the last 20 changesets closed in a specific area
   def test_index_bbox
   ##
   # This should display the last 20 changesets closed in a specific area
   def test_index_bbox
-    changesets = create_list(:changeset, 10, :num_changes => 1, :min_lat => 50000000, :max_lat => 50000001, :min_lon => 50000000, :max_lon => 50000001)
-    other_changesets = create_list(:changeset, 10, :num_changes => 1, :min_lat => 0, :max_lat => 1, :min_lon => 0, :max_lon => 1)
+    changesets = create_list(:changeset, 10, :num_changes => 1, :bbox => [5, 5, 5, 5])
+    other_changesets = create_list(:changeset, 10, :num_changes => 1, :bbox => [0, 0, 1, 1])
 
     # First check they all show up without a bbox parameter
     get history_path(:format => "html", :list => "1"), :xhr => true
 
     # First check they all show up without a bbox parameter
     get history_path(:format => "html", :list => "1"), :xhr => true
@@ -389,12 +389,12 @@ class ChangesetsControllerTest < ActionDispatch::IntegrationTest
   ##
   # This should display the last 20 changesets closed in a specific area
   def test_feed_bbox
   ##
   # This should display the last 20 changesets closed in a specific area
   def test_feed_bbox
-    changeset = create(:changeset, :num_changes => 1, :min_lat => 5 * GeoRecord::SCALE, :min_lon => 5 * GeoRecord::SCALE, :max_lat => 5 * GeoRecord::SCALE, :max_lon => 5 * GeoRecord::SCALE)
+    changeset = create(:changeset, :num_changes => 1, :bbox => [5, 5, 5, 5])
     create(:changeset_tag, :changeset => changeset)
     create(:changeset_tag, :changeset => changeset, :k => "website", :v => "http://example.com/")
     create(:changeset_tag, :changeset => changeset)
     create(:changeset_tag, :changeset => changeset, :k => "website", :v => "http://example.com/")
-    closed_changeset = create(:changeset, :closed, :num_changes => 1, :min_lat => 5 * GeoRecord::SCALE, :min_lon => 5 * GeoRecord::SCALE, :max_lat => 5 * GeoRecord::SCALE, :max_lon => 5 * GeoRecord::SCALE)
-    _elsewhere_changeset = create(:changeset, :num_changes => 1, :min_lat => -5 * GeoRecord::SCALE, :min_lon => -5 * GeoRecord::SCALE, :max_lat => -5 * GeoRecord::SCALE, :max_lon => -5 * GeoRecord::SCALE)
-    _empty_changeset = create(:changeset, :num_changes => 0, :min_lat => 5 * GeoRecord::SCALE, :min_lon => 5 * GeoRecord::SCALE, :max_lat => 5 * GeoRecord::SCALE, :max_lon => 5 * GeoRecord::SCALE)
+    closed_changeset = create(:changeset, :closed, :num_changes => 1, :bbox => [5, 5, 5, 5])
+    _elsewhere_changeset = create(:changeset, :num_changes => 1, :bbox => [-5, -5, -5, -5])
+    _empty_changeset = create(:changeset, :num_changes => 0, :bbox => [5, 5, 5, 5])
 
     get history_feed_path(:format => :atom, :bbox => "4.5,4.5,5.5,5.5")
     assert_response :success
 
     get history_feed_path(:format => :atom, :bbox => "4.5,4.5,5.5,5.5")
     assert_response :success
index d4ebdcee133d8811822db1f8974e8f13066f3b27..6a89a7d37031b9dc035d155aa21869f176f05f20 100644 (file)
@@ -1,7 +1,15 @@
 FactoryBot.define do
   factory :changeset do
 FactoryBot.define do
   factory :changeset do
+    transient do
+      bbox { nil }
+    end
+
     created_at { Time.now.utc }
     closed_at { Time.now.utc + 1.day }
     created_at { Time.now.utc }
     closed_at { Time.now.utc + 1.day }
+    min_lon { (bbox[0] * GeoRecord::SCALE).round if bbox }
+    min_lat { (bbox[1] * GeoRecord::SCALE).round if bbox }
+    max_lon { (bbox[2] * GeoRecord::SCALE).round if bbox }
+    max_lat { (bbox[3] * GeoRecord::SCALE).round if bbox }
 
     user
 
 
     user
 
index 6c81a928fad768f4f5ac1c8f97208bc4c8886c78..c690551c74b576814cbe41cf3065000d4c2fea6c 100644 (file)
@@ -2,8 +2,7 @@ require "application_system_test_case"
 
 class BrowseCommentLinksTest < ApplicationSystemTestCase
   test "visiting changeset comment link should pan to changeset" do
 
 class BrowseCommentLinksTest < ApplicationSystemTestCase
   test "visiting changeset comment link should pan to changeset" do
-    changeset = create(:changeset, :min_lat => 60 * GeoRecord::SCALE, :min_lon => 30 * GeoRecord::SCALE,
-                                   :max_lat => 60 * GeoRecord::SCALE, :max_lon => 30 * GeoRecord::SCALE)
+    changeset = create(:changeset, :bbox => [30, 60, 30, 60])
     comment = create(:changeset_comment, :changeset => changeset, :body => "Linked changeset comment")
 
     visit changeset_path(changeset, :anchor => "c#{comment.id}")
     comment = create(:changeset_comment, :changeset => changeset, :body => "Linked changeset comment")
 
     visit changeset_path(changeset, :anchor => "c#{comment.id}")
index 5c66144c1dbe59b38dc27e8f510877637198d68e..50215abc5515b4e80c474e4687d47a27eab6b0ef 100644 (file)
@@ -110,9 +110,9 @@ class HistoryTest < ApplicationSystemTestCase
   end
 
   test "update sidebar when before param is included and map is moved" do
   end
 
   test "update sidebar when before param is included and map is moved" do
-    changeset1 = create(:changeset, :num_changes => 1, :min_lat => 50000000, :max_lat => 50000001, :min_lon => 50000000, :max_lon => 50000001)
+    changeset1 = create(:changeset, :num_changes => 1, :bbox => [5, 5, 5, 5])
     create(:changeset_tag, :changeset => changeset1, :k => "comment", :v => "changeset-at-fives")
     create(:changeset_tag, :changeset => changeset1, :k => "comment", :v => "changeset-at-fives")
-    changeset2 = create(:changeset, :num_changes => 1, :min_lat => 50100000, :max_lat => 50100001, :min_lon => 50100000, :max_lon => 50100001)
+    changeset2 = create(:changeset, :num_changes => 1, :bbox => [5.01, 5.01, 5.01, 5.01])
     create(:changeset_tag, :changeset => changeset2, :k => "comment", :v => "changeset-close-to-fives")
     changeset3 = create(:changeset)
 
     create(:changeset_tag, :changeset => changeset2, :k => "comment", :v => "changeset-close-to-fives")
     changeset3 = create(:changeset)
 
@@ -136,9 +136,7 @@ class HistoryTest < ApplicationSystemTestCase
   test "all changesets are listed when fully zoomed out" do
     user = create(:user)
     [-177, -90, 0, 90, 177].each do |lon|
   test "all changesets are listed when fully zoomed out" do
     user = create(:user)
     [-177, -90, 0, 90, 177].each do |lon|
-      create(:changeset, :user => user, :num_changes => 1,
-                         :min_lat => 0 * GeoRecord::SCALE, :min_lon => (lon - 1) * GeoRecord::SCALE,
-                         :max_lat => 1 * GeoRecord::SCALE, :max_lon => (lon + 1) * GeoRecord::SCALE) do |changeset|
+      create(:changeset, :user => user, :num_changes => 1, :bbox => [lon - 1, 0, lon + 1, 1]) do |changeset|
         create(:changeset_tag, :changeset => changeset, :k => "comment", :v => "changeset-at-lon(#{lon})")
       end
     end
         create(:changeset_tag, :changeset => changeset, :k => "comment", :v => "changeset-at-lon(#{lon})")
       end
     end