Skip to content

Commit

Permalink
updated process_fullname and it's test function
Browse files Browse the repository at this point in the history
  • Loading branch information
annapurna-gupta committed Feb 20, 2025
1 parent 3786696 commit e55db70
Show file tree
Hide file tree
Showing 3 changed files with 16 additions and 52 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ def upgrade():


def downgrade():
# ### commands auto generated by Alembic - please adjust! ###
# ### commands auto generated by Alembic - please adjust! ###
with op.batch_alter_table('users', schema=None) as batch_op:
batch_op.drop_column('profile_image_path')
batch_op.drop_column('fullname')
Expand Down
27 changes: 4 additions & 23 deletions mslib/mscolab/server.py
Original file line number Diff line number Diff line change
Expand Up @@ -251,30 +251,11 @@ def check_login(emailid, password):

def process_fullname(fullname):
fullname = " ".join(fullname.split())
if not fullname:
return {"success": True, "processed_name": ""}

result_with_regex = slugify(fullname, regex_pattern=r"[^a-zA-Z\s\-]")
if fullname.lower() != result_with_regex:
return {"success": False, "message": "Invalid characters detected in fullname."}

parts = fullname.split()

processed_parts = []
for part in parts:
if "-" in part:
processed_part = part.lower()
if not processed_part:
return {"success": False, "message": "Fullname contains invalid part after processing."}
processed_parts.append(processed_part)
else:
processed_part = slugify(part)
if not processed_part:
return {"success": False, "message": "Fullname contains invalid part after processing."}
processed_parts.append(processed_part)

final_name = " ".join(processed_parts)
return {"success": True, "processed_name": final_name}
if fullname.lower() == result_with_regex:
return {"success": True, "processed_name": fullname}
else:
return {"success": False, "message": "Invalid chars detected"}


def register_user(email, password, username, fullname):
Expand Down
39 changes: 11 additions & 28 deletions tests/_test_mscolab/test_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,41 +87,24 @@ def test_register_user(self):
assert result["success"] is True

def test_process_fullname(self):
result = process_fullname("Jean-Luc Picard")
assert result["success"] is True
assert result["processed_name"] == "jean-luc picard"

result = process_fullname("John Doe")
assert result["success"] is True
assert result["processed_name"] == "john doe"

result = process_fullname("Anu")
assert result["success"] is True
assert result["processed_name"] == "anu"

assert result["processed_name"] == "John Doe"
result = process_fullname("")
assert result["success"] is True
assert result["processed_name"] == ""

result = process_fullname("@@@###")
assert result["success"] is False
assert result["message"] == "Invalid characters detected in fullname."

result = process_fullname(" John Doe")
assert result["success"] is True
assert result["processed_name"] == "john doe"

result = process_fullname("Jean--Luc Picard")
assert result["success"] is True
assert result["processed_name"] == "jean--luc picard"

result = process_fullname("John Smith-Doe")
assert result["success"] is True
assert result["processed_name"] == "john smith-doe"

result = process_fullname("John123")
assert result["success"] is False
assert result["message"] == "Invalid characters detected in fullname."
assert result["message"] == "Invalid chars detected"
result = process_fullname("John_Doe")
assert result["success"] is False
assert result["message"] == "Invalid chars detected"
result = process_fullname("@#")
assert result["success"] is False
assert result["message"] == "Invalid chars detected"
result = process_fullname("Anne-Marie")
assert result["success"] is True
assert result["processed_name"] == "Anne-Marie"

def test_check_login(self):
with self.app.test_client():
Expand Down

0 comments on commit e55db70

Please sign in to comment.