mirror of https://github.com/eyhc1/rendercv.git
add more tests
This commit is contained in:
parent
28ab9e474b
commit
2894fbe971
|
@ -2,6 +2,8 @@ import unittest
|
||||||
from rendercv import data_model, rendering
|
from rendercv import data_model, rendering
|
||||||
|
|
||||||
from datetime import date as Date
|
from datetime import date as Date
|
||||||
|
from pydantic import ValidationError
|
||||||
|
from pydantic_core import Url
|
||||||
|
|
||||||
|
|
||||||
class TestRendercv(unittest.TestCase):
|
class TestRendercv(unittest.TestCase):
|
||||||
|
@ -55,6 +57,86 @@ class TestRendercv(unittest.TestCase):
|
||||||
result = data_model.format_date(date)
|
result = data_model.format_date(date)
|
||||||
self.assertEqual(result, expected)
|
self.assertEqual(result, expected)
|
||||||
|
|
||||||
|
def test_data_cv_name(self):
|
||||||
|
cv_dict = {"name": "John Doe Test"}
|
||||||
|
cv = data_model.CurriculumVitae(**cv_dict)
|
||||||
|
self.assertEqual(cv.name, "John Doe Test")
|
||||||
|
|
||||||
|
with self.assertRaises(ValidationError):
|
||||||
|
cv_dict = {}
|
||||||
|
data_model.CurriculumVitae(**cv_dict)
|
||||||
|
|
||||||
|
def test_data_cv_email(self):
|
||||||
|
# Test invalid emails
|
||||||
|
cv_dict = {"name": "John Doe", "email": "wrongEmail"}
|
||||||
|
with self.assertRaises(ValidationError):
|
||||||
|
data_model.CurriculumVitae(**cv_dict)
|
||||||
|
|
||||||
|
cv_dict["email"] = "anotherWrongEmail@.com"
|
||||||
|
with self.assertRaises(ValidationError):
|
||||||
|
data_model.CurriculumVitae(**cv_dict)
|
||||||
|
|
||||||
|
# Test empty email field
|
||||||
|
cv_dict["email"] = ""
|
||||||
|
with self.assertRaises(ValidationError):
|
||||||
|
data_model.CurriculumVitae(**cv_dict)
|
||||||
|
|
||||||
|
# Test valid email
|
||||||
|
cv_dict["email"] = "johndoe@example.com"
|
||||||
|
cv = data_model.CurriculumVitae(**cv_dict)
|
||||||
|
self.assertEqual(cv.email, "johndoe@example.com")
|
||||||
|
|
||||||
|
def test_data_cv_phone(self):
|
||||||
|
# Test invalid phone numbers
|
||||||
|
cv_dict = {"name": "John Doe", "phone": "123456789"}
|
||||||
|
with self.assertRaises(ValidationError):
|
||||||
|
data_model.CurriculumVitae(**cv_dict)
|
||||||
|
|
||||||
|
cv_dict["phone"] = "12"
|
||||||
|
with self.assertRaises(ValidationError):
|
||||||
|
data_model.CurriculumVitae(**cv_dict)
|
||||||
|
|
||||||
|
# Test empty phone field
|
||||||
|
cv_dict["phone"] = ""
|
||||||
|
with self.assertRaises(ValidationError):
|
||||||
|
data_model.CurriculumVitae(**cv_dict)
|
||||||
|
|
||||||
|
# Test valid phone numbers
|
||||||
|
cv_dict["phone"] = "+1-512-456-9999"
|
||||||
|
cv = data_model.CurriculumVitae(**cv_dict)
|
||||||
|
self.assertEqual(cv.phone, "tel:+1-512-456-9999")
|
||||||
|
|
||||||
|
cv_dict["phone"] = "+90(555) 555 55 55"
|
||||||
|
cv = data_model.CurriculumVitae(**cv_dict)
|
||||||
|
self.assertEqual(cv.phone, "tel:+90-555-555-55-55")
|
||||||
|
|
||||||
|
cv_dict["phone"] = "+86 139 1099 8888"
|
||||||
|
cv = data_model.CurriculumVitae(**cv_dict)
|
||||||
|
self.assertEqual(cv.phone, "tel:+86-139-1099-8888")
|
||||||
|
|
||||||
|
def test_data_cv_website(self):
|
||||||
|
# Test invalid website
|
||||||
|
cv_dict = {"name": "John Doe", "website": "wrongWebsite"}
|
||||||
|
with self.assertRaises(ValidationError):
|
||||||
|
data_model.CurriculumVitae(**cv_dict)
|
||||||
|
|
||||||
|
cv_dict["website"] = "anotherWrongWebsit@e.com"
|
||||||
|
with self.assertRaises(ValidationError):
|
||||||
|
data_model.CurriculumVitae(**cv_dict)
|
||||||
|
|
||||||
|
# Test empty website field
|
||||||
|
cv_dict["website"] = ""
|
||||||
|
with self.assertRaises(ValidationError):
|
||||||
|
data_model.CurriculumVitae(**cv_dict)
|
||||||
|
|
||||||
|
# Test valid websites
|
||||||
|
cv_dict["website"] = "https://example.com"
|
||||||
|
cv = data_model.CurriculumVitae(**cv_dict)
|
||||||
|
self.assertEqual(cv.website, Url("https://example.com/"))
|
||||||
|
|
||||||
|
cv_dict["website"] = "http://www.example.com"
|
||||||
|
cv = data_model.CurriculumVitae(**cv_dict)
|
||||||
|
self.assertEqual(cv.website, Url("http://www.example.com/"))
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
unittest.main()
|
unittest.main()
|
||||||
|
|
Loading…
Reference in New Issue