From 3751379f1e9a4c215fb6eb898b4ccc67659b9ace Mon Sep 17 00:00:00 2001 From: stephanchrst Date: Tue, 10 May 2022 21:51:50 +0700 Subject: initial commit 2 --- addons/google_calendar/tests/test_sync_common.py | 63 ++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 addons/google_calendar/tests/test_sync_common.py (limited to 'addons/google_calendar/tests/test_sync_common.py') diff --git a/addons/google_calendar/tests/test_sync_common.py b/addons/google_calendar/tests/test_sync_common.py new file mode 100644 index 00000000..d3d6062d --- /dev/null +++ b/addons/google_calendar/tests/test_sync_common.py @@ -0,0 +1,63 @@ +# -*- coding: utf-8 -*- +# Part of Odoo. See LICENSE file for full copyright and licensing details. + +from datetime import datetime, date +from dateutil.relativedelta import relativedelta +from unittest.mock import MagicMock, patch + +from odoo.tests.common import SavepointCase +from odoo.addons.google_calendar.utils.google_calendar import GoogleCalendarService +from odoo.addons.google_calendar.models.res_users import User +from odoo.addons.google_calendar.models.google_sync import GoogleSync +from odoo.addons.google_account.models.google_service import TIMEOUT + + +def patch_api(func): + @patch.object(GoogleSync, '_google_insert', MagicMock()) + @patch.object(GoogleSync, '_google_delete', MagicMock()) + @patch.object(GoogleSync, '_google_patch', MagicMock()) + def patched(self, *args, **kwargs): + return func(self, *args, **kwargs) + return patched + +@patch.object(User, '_get_google_calendar_token', lambda user: 'dummy-token') +class TestSyncGoogle(SavepointCase): + + def setUp(self): + super().setUp() + self.google_service = GoogleCalendarService(self.env['google.service']) + + def assertGoogleEventDeleted(self, google_id): + GoogleSync._google_delete.assert_called() + args, kwargs = GoogleSync._google_delete.call_args + self.assertEqual(args[1], google_id, "Event should have been deleted") + + def assertGoogleEventNotDeleted(self): + GoogleSync._google_delete.assert_not_called() + + def assertGoogleEventInserted(self, values, timeout=None): + expected_args = (values,) + expected_kwargs = {'timeout': timeout} if timeout else {} + GoogleSync._google_insert.assert_called_once() + args, kwargs = GoogleSync._google_insert.call_args + self.assertEqual(args[1:], expected_args) # skip Google service arg + self.assertEqual(kwargs, expected_kwargs) + + def assertGoogleEventNotInserted(self): + GoogleSync._google_insert.assert_not_called() + + def assertGoogleEventPatched(self, google_id, values, timeout=None): + expected_args = (google_id, values) + expected_kwargs = {'timeout': timeout} if timeout else {} + GoogleSync._google_patch.assert_called_once() + args, kwargs = GoogleSync._google_patch.call_args + self.assertEqual(args[1:], expected_args) # skip Google service arg + self.assertEqual(kwargs, expected_kwargs) + + def assertGoogleEventNotPatched(self): + GoogleSync._google_patch.assert_not_called() + + def assertGoogleAPINotCalled(self): + self.assertGoogleEventNotPatched() + self.assertGoogleEventNotInserted() + self.assertGoogleEventNotDeleted() -- cgit v1.2.3