def test_find_user_by_name_returns_array_with_user_info_for_existing_users(self, find_stub, db_mock): db_mock.return_value = MysqlMock() find_stub.return_value = tuple(filter((lambda user: user[1] == 'Luke'), Mocks().MYSQL_ALL_USERS_MOCK)) self.user_controller = UserController() result = self.user_controller.find_by_name('Luke') self.assertIn('data', result) self.assertEqual(len(result.get('data')),1)
def test_save_user_returns_error_for_existing_user(self, found_user_stub, db_mock): db_mock.return_value = MysqlMock() found_user_stub.return_value = Mocks().MYSQL_FIND_USER_RESULT_SINGLE self.user_controller = UserController() result = self.user_controller.save_user(Mocks().USER_MOCK) self.assertIn('error', result) self.assertEqual(result['error'], 'An user with this email already exists.')
def test_get_all_users_returns_array_of_users(self, get_all_stub, db_mock): db_mock.return_value = MysqlMock() get_all_stub.return_value = Mocks().MYSQL_ALL_USERS_MOCK self.user_controller = UserController() result = self.user_controller.get_all() self.assertIn('data', result) self.assertEqual(len(result.get('data')), 3)
def test_login_returns_msg_for_successful_login(self, find_stub, db_mock): db_mock.return_value = MysqlMock() find_stub.return_value = {'email':'[email protected].'} self.user_controller = UserController() result = self.user_controller.login('Luke', 'theforce') self.assertIn('info', result) self.assertNotIn('error', result) self.assertEqual(result['info'], 'User Luke successfully logged in.')
def test_login_returns_error_for_invalid_credentials(self, find_stub, db_mock): db_mock.return_value = MysqlMock() find_stub.return_value = None self.user_controller = UserController() result = self.user_controller.login('Luke', 'forgot') self.assertIn('error', result) self.assertNotIn('info', result) self.assertEqual(result['error'], 'Invalid credentials.')
def test_find_user_by_id_returns_array_with_user_info_for_existing_id(self, find_stub, db_mock): db_mock.return_value = MysqlMock() find_stub.return_value = [4, 'Unit Test', 'User', 'unittest.user', 9, '*****@*****.**' ] self.user_controller = UserController() result = self.user_controller.find_by_id(4) self.assertEqual(result, { 'id': 4, 'first_name': 'Unit Test', 'last_name': 'User', 'username': '******', 'access_level': 9, 'email': '*****@*****.**' })
def test_delete_user_returns_error_msg_for_non_existent_user(self, delete_stub, db_mock): db_mock.return_value = MysqlMock() delete_stub.return_value = {} self.user_controller = UserController() result = self.user_controller.delete_by_id(11129) self.assertEqual(result, {'error': 'user could not be deleted because wasn`t found.'})
def test_delete_user_returns_info_msg_for_successfully_deleted_user(self, delete_stub, db_mock): db_mock.return_value = MysqlMock() delete_stub.return_value = {'info': 'user successfully deleted.'} self.user_controller = UserController() result = self.user_controller.delete_by_id(Mocks().USER_MOCK['id']) self.assertEqual(result, {'info': 'user successfully deleted.'})
def test_save_user_returns_error_msg_for_failed_saving_operation(self, insert_stub, db_mock): db_mock.return_value = MysqlMock() insert_stub.return_value = {} self.user_controller = UserController() result = self.user_controller.save_user(Mocks().USER_MOCK) self.assertEqual(result, {'error': 'user could not be created.'})
def test_save_user_returns_info_msg_for_successfully_saved_user(self, insert_stub, db_mock): db_mock.return_value = MysqlMock() insert_stub.return_value = {'info':'user successfully created.'} self.user_controller = UserController() result = self.user_controller.save_user(Mocks().USER_MOCK) self.assertEqual(result, {'info':'user successfully created.'})