<p></p>
<p><b>@tomhughes</b> requested changes on this pull request.</p>

<hr>

<p>In <a href="https://github.com/openstreetmap/openstreetmap-website/pull/4203#discussion_r1306391287">test/controllers/api/users_controller_test.rb</a>:</p>
<pre style='color:#555'>> @@ -419,13 +419,15 @@ def test_index
       check_json_details(js["users"][1], user3, false, false)
 
       get api_users_path, :params => { :users => create(:user, :suspended).id }
-      assert_response :not_found
+      assert_response :success
</pre>
<p dir="auto">You should add the same assertion here that you use later to check that no users are returned.</p>

<hr>

<p>In <a href="https://github.com/openstreetmap/openstreetmap-website/pull/4203#discussion_r1306391330">test/controllers/api/users_controller_test.rb</a>:</p>
<pre style='color:#555'>>  
       get api_users_path, :params => { :users => create(:user, :deleted).id }
-      assert_response :not_found
+      assert_response :success
</pre>
<p dir="auto">Same here - this should check no users are returned.</p>

<hr>

<p>In <a href="https://github.com/openstreetmap/openstreetmap-website/pull/4203#discussion_r1306391645">app/views/api/users/index.xml.builder</a>:</p>
<pre style='color:#555'>> @@ -1,4 +1,4 @@
 xml.instruct! :xml, :version => "1.0"
 xml.osm(OSM::API.new.xml_root_attributes) do |osm|
-  osm << render(@users)
+  osm << (render(@users) || "")
</pre>
<p dir="auto">Is this actually necessary? Won't an empty set render sensibly? If it is needed that what about the JSON version?</p>

<hr>

<p>In <a href="https://github.com/openstreetmap/openstreetmap-website/pull/4203#discussion_r1306391690">test/controllers/api/users_controller_test.rb</a>:</p>
<pre style='color:#555'>> @@ -506,13 +508,15 @@ def test_index_oauth1
       check_json_details(js["users"][1], user3, false, false)
 
       signed_get api_users_path, :params => { :users => create(:user, :suspended).id }, :oauth => { :token => good_token }
-      assert_response :not_found
+      assert_response :success
</pre>
<p dir="auto">This should check the set is empty.</p>

<hr>

<p>In <a href="https://github.com/openstreetmap/openstreetmap-website/pull/4203#discussion_r1306391701">test/controllers/api/users_controller_test.rb</a>:</p>
<pre style='color:#555'>>  
       signed_get api_users_path, :params => { :users => create(:user, :deleted).id }, :oauth => { :token => good_token }
-      assert_response :not_found
+      assert_response :success
</pre>
<p dir="auto">This should check the set is empty.</p>

<hr>

<p>In <a href="https://github.com/openstreetmap/openstreetmap-website/pull/4203#discussion_r1306391716">test/controllers/api/users_controller_test.rb</a>:</p>
<pre style='color:#555'>> @@ -593,13 +597,15 @@ def test_index_oauth2
       check_json_details(js["users"][1], user3, false, false)
 
       get api_users_path, :params => { :users => create(:user, :suspended).id }, :headers => bearer_authorization_header(good_token.token)
-      assert_response :not_found
+      assert_response :success
</pre>
<p dir="auto">This should check the set is empty.</p>

<hr>

<p>In <a href="https://github.com/openstreetmap/openstreetmap-website/pull/4203#discussion_r1306391717">test/controllers/api/users_controller_test.rb</a>:</p>
<pre style='color:#555'>>  
       get api_users_path, :params => { :users => create(:user, :deleted).id }, :headers => bearer_authorization_header(good_token.token)
-      assert_response :not_found
+      assert_response :success
</pre>
<p dir="auto">This should check the set is empty.</p>

<p style="font-size:small;-webkit-text-size-adjust:none;color:#666;">—<br />Reply to this email directly, <a href="https://github.com/openstreetmap/openstreetmap-website/pull/4203#pullrequestreview-1596828985">view it on GitHub</a>, or <a href="https://github.com/notifications/unsubscribe-auth/AAK2OLK6VC42Q2IAO6UZKKTXXHBJ7ANCNFSM6AAAAAA37CXSXM">unsubscribe</a>.<br />You are receiving this because you are subscribed to this thread.<img src="https://github.com/notifications/beacon/AAK2OLJXJDQVURK7R75I7LDXXHBJ7A5CNFSM6AAAAAA37CXSXOWGG33NNVSW45C7OR4XAZNRKB2WY3CSMVYXKZLTORJGK5TJMV32UY3PNVWWK3TUL5UWJTS7FWWTS.gif" height="1" width="1" alt="" /><span style="color: transparent; font-size: 0; display: none; visibility: hidden; overflow: hidden; opacity: 0; width: 0; height: 0; max-width: 0; max-height: 0; mso-hide: all">Message ID: <span><openstreetmap/openstreetmap-website/pull/4203/review/1596828985</span><span>@</span><span>github</span><span>.</span><span>com></span></span></p>
<script type="application/ld+json">[
{
"@context": "http://schema.org",
"@type": "EmailMessage",
"potentialAction": {
"@type": "ViewAction",
"target": "https://github.com/openstreetmap/openstreetmap-website/pull/4203#pullrequestreview-1596828985",
"url": "https://github.com/openstreetmap/openstreetmap-website/pull/4203#pullrequestreview-1596828985",
"name": "View Pull Request"
},
"description": "View this Pull Request on GitHub",
"publisher": {
"@type": "Organization",
"name": "GitHub",
"url": "https://github.com"
}
}
]</script>