From 9950cd43e13fa816939ef1555612562a39071bda Mon Sep 17 00:00:00 2001 From: Nenad Vujicic Date: Wed, 13 Nov 2024 01:12:06 +0100 Subject: [PATCH] Test note/tag output created at POST/HTML level Added testing of note XML, JSON, GPX, RSS and feed outputs (with tags) when note (and tags) are created by sending POST/HTTP request. --- test/controllers/api/notes_controller_test.rb | 20 ++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/test/controllers/api/notes_controller_test.rb b/test/controllers/api/notes_controller_test.rb index 3972da6cf6..1b90e2dd13 100644 --- a/test/controllers/api/notes_controller_test.rb +++ b/test/controllers/api/notes_controller_test.rb @@ -1,4 +1,5 @@ require "test_helper" +require "json" module Api class NotesControllerTest < ActionDispatch::IntegrationTest @@ -105,7 +106,18 @@ def test_create_anonymous_success assert_difference "Note.count", 1 do assert_difference "NoteComment.count", 1 do assert_no_difference "NoteSubscription.count" do - post api_notes_path(:lat => -1.0, :lon => -1.0, :text => "This is a comment", :format => "json") + assert_difference "NoteTag.count", 2 do + post api_notes_path( + :lat => -1.0, + :lon => -1.0, + :tags => { + "created_by" => "OSM_TEST", + "삭ÒX~`!@#$%^&*()-=_+,<.>/?;:'\"[{}]\\|傥4ր" => "Ƭ߯ĸá~`!@#$%^&*()-=_+,<.>/?;:'\"[{}]\\|؇Őϋ" + }.to_json, + :text => "This is a comment", + :format => "json" + ) + end end end end @@ -116,6 +128,9 @@ def test_create_anonymous_success assert_equal "Point", js["geometry"]["type"] assert_equal [-1.0, -1.0], js["geometry"]["coordinates"] assert_equal "open", js["properties"]["status"] + assert_equal 2, js["properties"]["tags"].count + assert_equal "OSM_TEST", js["properties"]["tags"]["created_by"] + assert_equal "Ƭ߯ĸá~`!@#$%^&*()-=_+,<.>/?;:'\"[{}]\\|؇Őϋ", js["properties"]["tags"]["삭ÒX~`!@#$%^&*()-=_+,<.>/?;:'\"[{}]\\|傥4ր"] assert_equal 1, js["properties"]["comments"].count assert_equal "opened", js["properties"]["comments"].last["action"] assert_equal "This is a comment", js["properties"]["comments"].last["text"] @@ -131,6 +146,9 @@ def test_create_anonymous_success assert_equal [-1.0, -1.0], js["geometry"]["coordinates"] assert_equal id, js["properties"]["id"] assert_equal "open", js["properties"]["status"] + assert_equal 2, js["properties"]["tags"].count + assert_equal "OSM_TEST", js["properties"]["tags"]["created_by"] + assert_equal "Ƭ߯ĸá~`!@#$%^&*()-=_+,<.>/?;:'\"[{}]\\|؇Őϋ", js["properties"]["tags"]["삭ÒX~`!@#$%^&*()-=_+,<.>/?;:'\"[{}]\\|傥4ր"] assert_equal 1, js["properties"]["comments"].count assert_equal "opened", js["properties"]["comments"].last["action"] assert_equal "This is a comment", js["properties"]["comments"].last["text"]