code: def test_when_twice_override_same_name_with_where_should_use_last_scope():
      # without parents should update scope for matching name
  
      request = (
          geocode(names="foo")
          .where("foo", scope="bar")
          .where("foo", scope="baz")
          ._build_request()
      )
  
      assert_that(request).has_query(
          no_parents(
              request=eq("foo"), scope=eq_map_region_with_name("baz")
          )
      )
  
imports: from typing import Optional, Union, List, Callable
  from unittest import mock
  import shapely
  from lets_plot.geo_data import GeocodingService, SuccessResponse, Answer, GeocodedFeature
  from lets_plot.geo_data import geocode, geocode_cities, geocode_states, geocode_countries
  from lets_plot.geo_data.gis.geometry import GeoRect, GeoPoint
  from lets_plot.geo_data.gis.request import MapRegion, AmbiguityResolver, GeocodingRequest, LevelKind, RegionQuery, IgnoringStrategyKind
  from lets_plot.geo_data.geocoder import NamesGeocoder
  from lets_plot.geo_data.geocodes import Geocodes
  from geo_data_test_util import make_answer, assert_row
  from request_assertion import GeocodingRequestAssertion, QueryMatcher, ScopeMatcher, ValueMatcher, eq, empty, eq_map_region_with_name, eq_map_region_with_id
label_desc: Use image node_id 3 for calling a global function with example usage: test_when_twice_override_same_name_with_where_should_use_last_scope() without return types