test_employee.py 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. import unittest
  2. from unittest.mock import patch
  3. from employee import Employee
  4. class TestEmployee(unittest.TestCase):
  5. @classmethod
  6. def setUpClass(cls):
  7. print('setupClass')
  8. @classmethod
  9. def tearDownClass(cls):
  10. print('teardownClass')
  11. def setUp(self):
  12. print('setUp')
  13. self.emp_1 = Employee('Corey', 'Schafer', 50000)
  14. self.emp_2 = Employee('Sue', 'Smith', 60000)
  15. def tearDown(self):
  16. print('tearDown\n')
  17. def test_email(self):
  18. print('test_email')
  19. self.assertEqual(self.emp_1.email, 'Corey.Schafer@email.com')
  20. self.assertEqual(self.emp_2.email, 'Sue.Smith@email.com')
  21. self.emp_1.first = 'John'
  22. self.emp_2.first = 'Jane'
  23. self.assertEqual(self.emp_1.email, 'John.Schafer@email.com')
  24. self.assertEqual(self.emp_2.email, 'Jane.Smith@email.com')
  25. def test_fullname(self):
  26. print('test_fullname')
  27. self.assertEqual(self.emp_1.fullname, 'Corey Schafer')
  28. self.assertEqual(self.emp_2.fullname, 'Sue Smith')
  29. self.emp_1.first = 'John'
  30. self.emp_2.first = 'Jane'
  31. self.assertEqual(self.emp_1.fullname, 'John Schafer')
  32. self.assertEqual(self.emp_2.fullname, 'Jane Smith')
  33. def test_apply_raise(self):
  34. print('test_apply_raise')
  35. self.emp_1.apply_raise()
  36. self.emp_2.apply_raise()
  37. self.assertEqual(self.emp_1.pay, 52500)
  38. self.assertEqual(self.emp_2.pay, 63000)
  39. def test_monthly_schedule(self):
  40. with patch('employee.requests.get') as mocked_get:
  41. mocked_get.return_value.ok = True
  42. mocked_get.return_value.text = 'Success'
  43. schedule = self.emp_1.monthly_schedule('May')
  44. mocked_get.assert_called_with('http://company.com/Schafer/May')
  45. self.assertEqual(schedule, 'Success')
  46. mocked_get.return_value.ok = False
  47. schedule = self.emp_2.monthly_schedule('June')
  48. mocked_get.assert_called_with('http://company.com/Smith/June')
  49. self.assertEqual(schedule, 'Bad Response!')
  50. if __name__ == '__main__':
  51. unittest.main()