Repository: joke2k/faker

Issue:
fr_FR address provider generates less than 5 digits postcode
* Faker version: master (18.9.0), bug introduced by https://github.com/joke2k/faker/pull/1852

The new provider method can generate 4 or less digits values. But french postcodes must be 5 digits long (cf https://en.wikipedia.org/wiki/Postal_codes_in_France).

Line to fix: https://github.com/joke2k/faker/blob/fa79c6b0c510274b08b46ad0f007fd1b517a9ab2/faker/providers/address/fr_FR/__init__.py#LL478C27-L478C27

### Steps to reproduce

1. generate a few postcodes with `fr_FR` address provider

### Expected behavior

5 digits values

### Actual behavior

From 3 to 5 digits values


Discussion:

Patch:
diff --git a/faker/providers/address/fr_FR/__init__.py b/faker/providers/address/fr_FR/__init__.py
index 1125716e..2ee23305 100644
--- a/faker/providers/address/fr_FR/__init__.py
+++ b/faker/providers/address/fr_FR/__init__.py
@@ -469,10 +469,10 @@ class Provider(AddressProvider):
 
     def postcode(self) -> str:
         """
-        Randomly returns a postcode generated from existing french depertment number.
+        Randomly returns a postcode generated from existing french department number.
         exemple: '33260'
         """
         department = self.department_number()
         if department in ["2A", "2B"]:
             department = "20"
-        return f"{department}{self.random_number(digits=5 - len(department))}"
+        return f"{department}{self.random_number(digits=5 - len(department), fix_len=True)}"


Test patch:
diff --git a/tests/providers/test_address.py b/tests/providers/test_address.py
index 0e5c47ef..0ecef674 100644
--- a/tests/providers/test_address.py
+++ b/tests/providers/test_address.py
@@ -870,6 +870,7 @@ class TestFrFr:
         for _ in range(num_samples):
             postcode = faker.postcode()
             assert isinstance(postcode, str)
+            assert len(postcode) == 5
             assert (
                 postcode[:3] in department_numbers  # for 3 digits deparments number
                 or postcode[:2] == "20"  # for Corsica : "2A" or "2B"