def METHOD_NAME(mocker):
    m_gzip_open = mocker.patch(f"{module}.gzip.open")
    m_json_load = mocker.patch(
        f"{module}.json.load",
        return_value=[
            {
                "fields": {
                    "nom_de_la_commune": "PARIS",
                    "code_postal": "75000",
                    "coordonnees_gps": [48.866667, 2.333333],
                },
            },
            {"fields": {"nom_de_la_commune": "POYA", "code_postal": "98827"}},
        ],
    )
    res = load_cities_fr()
    m_gzip_open.assert_called_once_with(settings.OCR_CITIES_FR_PATH, "rb")
    m_json_load.assert_called_once_with(m_gzip_open.return_value.__enter__.return_value)
    assert res == {
        City("paris", "75000", (48.866667, 2.333333)),
        City("poya", "98827", None),
    }
    # Error with postal code with bad length
    mocker.resetall()
    m_json_load.return_value = [
        {"fields": {"nom_de_la_commune": "YOLO", "code_postal": "123"}},
    ]
    with pytest.raises(
        ValueError, match="'123', invalid FR postal code for city 'yolo'"
    ):
        load_cities_fr()
    m_gzip_open.assert_called_once_with(settings.OCR_CITIES_FR_PATH, "rb")
    m_json_load.assert_called_once_with(m_gzip_open.return_value.__enter__.return_value)
    # Error with non-digit postal code
    mocker.resetall()
    m_json_load.return_value = [
        {"fields": {"nom_de_la_commune": "YOLO", "code_postal": "12A42"}},
    ]
    with pytest.raises(
        ValueError, match="'12A42', invalid FR postal code for city 'yolo'"
    ):
        load_cities_fr()
    m_gzip_open.assert_called_once_with(settings.OCR_CITIES_FR_PATH, "rb")
    m_json_load.assert_called_once_with(m_gzip_open.return_value.__enter__.return_value)