@Override
    public City findByName(String name) throws ElementNotFoundException {
        String exceptionMessage = String.format(EXCEPTION_MESSAGE_TEMPLATE, "name " + name);
        return cityRepository.findByName(name)
                .orElseThrow(createSupplierOnElementNotFound(exceptionMessage));
    }
@Test
    void findByNameThrowsExceptionIfCityNameContainsIllegalCharacter() {
        String cityName = "C!tyN@me";
        Mockito.when(cityRepository.findByName(cityName))
                .thenThrow(IllegalArgumentException.class);
        Assertions.assertThrows(IllegalArgumentException.class, () -> cityService.findByName(cityName));
    }