Skip to content

Commit

Permalink
Merge branch 'brazilian-utils:main' into main
Browse files Browse the repository at this point in the history
  • Loading branch information
antoniamaia committed Jul 23, 2023
2 parents 5c842fc + 909139e commit ea2de2d
Show file tree
Hide file tree
Showing 5 changed files with 51 additions and 3 deletions.
13 changes: 12 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ False
- [generate_cnpj](#generate_cnpj)
- [CEP](#cep)
- [is_valid_cep](#is_valid_cep)
- [format_cep](#format_cep)
- [generate_cep](#generate_cep)

## CPF
Expand Down Expand Up @@ -139,10 +140,20 @@ Verifica se o CEP 茅 valido. Apenas n煤meros, formatados como string. N茫o verif

```python
>>> from brutils import is_valid_cep
>>> is_valid_cep('88390000')
>>> is_valid_cep('01310200')
True
```

### format_cep

Formata o CEP. Retorna None se o CEP for inv谩lido.

```python
>>> from brutils import format_cep
>>> format_cep('01310200')
'01310-200'
```

### generate_cep

Gera um CEP v谩lido aleat贸rio.
Expand Down
15 changes: 13 additions & 2 deletions README_EN.md
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,8 @@ False
- [remove_symbols_cnpj](#remove_symbols_cnpj)
- [generate_cnpj](#generate_cnpj)
- [CEP](#cep)
- [is_valid_cep](#is_valid_cep)
- [is_valid_cep](#is_valid_cep)
- [format_cep](#format_cep)
- [generate_cep](#generate_cep)

## CPF
Expand Down Expand Up @@ -144,10 +145,20 @@ Check if CEP is valid. Numbers only, formatted as strings. Does not check if CEP

```python
>>> from brutils import is_valid_cep
>>> is_valid_cep('88390000')
>>> is_valid_cep('01310200')
True
```

### format_cep

Format CEP. Returns None if CEP is invalid.

```python
>>> from brutils import format_cep
>>> format_cpf('01310200')
'01310-200'
```

### generate_cep

Generate a valid random CEP.
Expand Down
1 change: 1 addition & 0 deletions brutils/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,5 +12,6 @@
)
from brutils.cep import (
is_valid as is_valid_cep,
format_cep,
generate as generate_cep,
)
12 changes: 12 additions & 0 deletions brutils/cep.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,18 @@
############


def format_cep(cep): # type: (str) -> str
"""
Will format an adequately formatted numbers-only CEP string,
adding in standard formatting visual aid symbols for display.
"""

if not is_valid(cep):
return None

return "{}-{}".format(cep[:5], cep[5:8])


# OPERATIONS
############

Expand Down
13 changes: 13 additions & 0 deletions tests/test_cep.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,25 @@
)
from brutils.cep import (
is_valid,
format_cep,
generate,
)
from unittest import TestCase, main


class CEP(TestCase):
def test_format_cep(self):
with patch("brutils.cep.is_valid", return_value=True) as mock_is_valid:
# When cep is_valid, returns formatted cep
assert format_cep("01310200") == "01310-200"

# Checks if function is_valid_cnpj is called
mock_is_valid.assert_called_once_with("01310200")

with patch("brutils.cep.is_valid", return_value=False) as mock_is_valid:
# When cep isn't valid, returns None
assert format_cep("013102009") is None

def test_is_valid(self):
# When CEP is not string, returns False
assert not is_valid(1)
Expand Down

0 comments on commit ea2de2d

Please sign in to comment.