From 0843afeda1f78ce86f7fef7fa78e10746df39d44 Mon Sep 17 00:00:00 2001 From: Matheus Felipe <50463866+matheusfelipeog@users.noreply.github.com> Date: Mon, 17 Jan 2022 04:35:52 -0300 Subject: [PATCH] Create tests to check_description --- scripts/tests/test_validate_format.py | 76 +++++++++++++++++++++++++++ 1 file changed, 76 insertions(+) diff --git a/scripts/tests/test_validate_format.py b/scripts/tests/test_validate_format.py index a4cb1803..c69d2bcf 100644 --- a/scripts/tests/test_validate_format.py +++ b/scripts/tests/test_validate_format.py @@ -6,6 +6,7 @@ from validate.format import error_message from validate.format import get_categories_content from validate.format import check_alphabetical_order from validate.format import check_title +from validate.format import check_description, max_description_length class TestValidadeFormat(unittest.TestCase): @@ -162,3 +163,78 @@ class TestValidadeFormat(unittest.TestCase): expected_err_msg = '(L001) Title should not end with "... API". Every entry is an API here!' self.assertEqual(err_msg, expected_err_msg) + + def test_checK_description_return_type(self): + desc_1 = 'This is a fake description' + desc_2 = 'this is a fake description' + desc_3 = 'This is a fake description!' + desc_4 = 'This is a fake descriptionThis is a fake descriptionThis is a fake descriptionThis is a fake description' + + result_1 = check_title(0, desc_1) + result_2 = check_title(0, desc_2) + result_3 = check_title(0, desc_3) + result_4 = check_title(0, desc_4) + + self.assertIsInstance(result_1, list) + self.assertIsInstance(result_2, list) + self.assertIsInstance(result_3, list) + self.assertIsInstance(result_4, list) + + err_msg_1 = result_2[0] + err_msg_2 = result_3[0] + err_msg_3 = result_4[0] + + self.assertIsInstance(err_msg_1, str) + self.assertIsInstance(err_msg_2, str) + self.assertIsInstance(err_msg_3, str) + + def test_check_description_with_correct_description(self): + desc = 'This is a fake description' + + err_msgs = check_description(0, desc) + + self.assertEqual(len(err_msgs), 0) + + self.assertEqual(err_msgs, []) + + def test_check_description_with_first_char_is_not_capitalized(self): + desc = 'this is a fake description' + + err_msgs = check_description(0, desc) + + self.assertEqual(len(err_msgs), 1) + + err_msg = err_msgs[0] + expected_err_msg = '(L001) first character of description is not capitalized' + + self.assertEqual(err_msg, expected_err_msg) + + def test_check_description_with_punctuation_in_the_end(self): + base_desc = 'This is a fake description' + punctuation = r"""!"#$%&'*+,-./:;<=>?@[\]^_`{|}~""" + desc_with_punc = [base_desc + punc for punc in punctuation] + + for desc in desc_with_punc: + + with self.subTest(): + err_msgs = check_description(0, desc) + + self.assertEqual(len(err_msgs), 1) + + err_msg = err_msgs[0] + expected_err_msg = f'(L001) description should not end with {desc[-1]}' + + self.assertEqual(err_msg, expected_err_msg) + + def test_check_description_that_exceeds_the_character_limit(self): + long_desc = 'Desc' * max_description_length + long_desc_length = len(long_desc) + + err_msgs = check_description(0, long_desc) + + self.assertEqual(len(err_msgs), 1) + + err_msg = err_msgs[0] + expected_err_msg = f'(L001) description should not exceed {max_description_length} characters (currently {long_desc_length})' + + self.assertEqual(err_msg, expected_err_msg)