From ad97722b1b35aff50d0adf13a19715f7b8373c07 Mon Sep 17 00:00:00 2001 From: Richard Sassine Date: Tue, 4 May 2021 18:00:38 +0300 Subject: initial commit --- .../tests/test_partner_external_map.py | 112 +++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 partner_external_map/tests/test_partner_external_map.py (limited to 'partner_external_map/tests/test_partner_external_map.py') diff --git a/partner_external_map/tests/test_partner_external_map.py b/partner_external_map/tests/test_partner_external_map.py new file mode 100644 index 0000000..5c694a5 --- /dev/null +++ b/partner_external_map/tests/test_partner_external_map.py @@ -0,0 +1,112 @@ +# Copyright 2016 Pedro M. Baeza +# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl). + +from odoo.exceptions import UserError +from odoo.tests import common + +from ..hooks import set_default_map_settings + + +class TestPartnerExternalMap(common.TransactionCase): + def setUp(self): + super(TestPartnerExternalMap, self).setUp() + self.user = self.env["res.users"].create( + { + "name": "Test user", + "login": "test_login", + "context_map_website_id": self.ref("partner_external_map.google_maps"), + "context_route_map_website_id": self.ref( + "partner_external_map.google_maps" + ), + } + ) + self.user.partner_id.city = "Tomelloso" + self.partner = self.env["res.partner"].create( + { + "name": "Test partner", + "city": "Madrid", + "street": "street_test", + "street2": "street2_test", + "state_id": self.ref("base.state_es_m"), + "country_id": self.ref("base.es"), + } + ) + + def test_post_init_hook(self): + # Call this again for coverage purposes, but it has been already run + set_default_map_settings(self.cr, self.registry) + usrs = self.env["res.users"].search([]) + self.assertTrue(all([u.context_map_website_id.id for u in usrs])) + self.assertTrue(all([u.context_route_map_website_id.id for u in usrs])) + self.assertEqual( + self.env.user.partner_id, self.env.user.context_route_start_partner_id + ) + + def test_create_user(self): + self.assertEqual(self.user.partner_id, self.user.context_route_start_partner_id) + + def test_open_map(self): + action = self.partner.with_user(self.user.id).open_map() + self.assertEqual( + action["url"], + "https://www.google.com/maps?ie=UTF8" + "&q=street_test street2_test Madrid Madrid Spain", + ) + + def test_open_route_map(self): + action = self.partner.with_user(self.user.id).open_route_map() + self.assertEqual( + action["url"], + "https://www.google.com/maps?saddr=Tomelloso" + "&daddr=street_test street2_test Madrid Madrid " + "Spain&directionsmode=driving", + ) + + def test_open_map_with_coordinates(self): + # Simulate that we have the base_geolocalize module installed creating + # by hand the variables - This can't be done with routes + partner = self.partner.with_user(self.user.id) + partner.partner_latitude = 39.15837 + partner.partner_longitude = -3.02145 + action = partner.open_map() + self.assertTrue(action["url"].startswith("https://www.google.com/maps?z=")) + self.assertIn("39.15837", action["url"]) + self.assertIn("-3.02145", action["url"]) + + def test_exception_no_addr(self): + self.partner.write( + { + "city": False, + "street": False, + "street2": False, + "state_id": False, + "country_id": False, + } + ) + with self.assertRaises(UserError): + self.partner.with_user(self.user.id).open_route_map() + + def test_exception_no_map_website(self): + self.user.context_map_website_id = False + with self.assertRaises(UserError): + self.partner.with_user(self.user.id).open_map() + + def test_exception_no_map_route_website(self): + self.user.context_route_start_partner_id = False + with self.assertRaises(UserError): + self.partner.with_user(self.user.id).open_route_map() + + def test_exception_no_starting_partner(self): + self.user.context_route_map_website_id = False + with self.assertRaises(UserError): + self.partner.with_user(self.user.id).open_route_map() + + def test_exception_no_address_url(self): + self.user.context_map_website_id.address_url = False + with self.assertRaises(UserError): + self.partner.with_user(self.user.id).open_map() + + def test_exception_no_route_address_url(self): + self.user.context_map_website_id.route_address_url = False + with self.assertRaises(UserError): + self.partner.with_user(self.user.id).open_route_map() -- cgit v1.2.3