Fix formatting for secret code to ensure 0 padding no matter the passed length

This commit is contained in:
Ryan Ahearn
2023-02-22 10:48:15 -05:00
parent eec618dff8
commit 71010e78d8
2 changed files with 8 additions and 2 deletions

View File

@@ -21,7 +21,7 @@ def _remove_values_for_keys_if_present(dict, keys):
def create_secret_code(length=6):
random_number = randbelow(10 ** length)
return f"{random_number:06d}"
return "{:0{length}d}".format(random_number, length=length)
def save_user_attribute(usr, update_dict=None):

View File

@@ -185,7 +185,13 @@ def test_create_secret_code_different_subsequent_codes():
def test_create_secret_code_returns_6_digits():
code = create_secret_code()
assert len(str(code)) == 6
assert len(code) == 6
def test_create_secret_code_can_customize_digits():
code_length = 10
code = create_secret_code(code_length)
assert len(code) == code_length
@freeze_time('2018-07-07 12:00:00')