41 lines
2.0 KiB
Python
41 lines
2.0 KiB
Python
|
# -*- encoding: utf-8 -*-
|
||
|
# Part of Odoo. See LICENSE file for full copyright and licensing details.
|
||
|
from odoo.addons.website_sale_autocomplete.controllers.main import AutoCompleteController
|
||
|
from odoo.tests import patch, HttpCase, tagged
|
||
|
|
||
|
CONTROLLER_PATH = 'odoo.addons.website_sale_autocomplete.controllers.main.AutoCompleteController'
|
||
|
MOCK_GOOGLE_ID = 'aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2g/dj1kUXc0dzlXZ1hjUQ=='
|
||
|
MOCK_API_KEY = 'Tm9ib2R5IGV4cGVjdHMgdGhlIFNwYW5pc2ggaW5xdWlzaXRpb24gIQ=='
|
||
|
|
||
|
|
||
|
@tagged('post_install', '-at_install')
|
||
|
class TestUI(HttpCase):
|
||
|
@classmethod
|
||
|
def setUpClass(cls):
|
||
|
super().setUpClass()
|
||
|
cls.product = cls.env['product.product'].create({
|
||
|
'name': 'A test product',
|
||
|
'website_published': True,
|
||
|
'list_price': 1
|
||
|
})
|
||
|
|
||
|
def test_autocomplete(self):
|
||
|
with patch.object(AutoCompleteController, '_perform_complete_place_search',
|
||
|
lambda controller, *args, **kwargs: {
|
||
|
'country': self.env['res.country'].search([('code', '=', 'USA')]).id,
|
||
|
'state': self.env['res.country.state'].search([('country_id.code', '=', 'USA')])[0].id,
|
||
|
'zip': '12345',
|
||
|
'city': 'A Fictional City',
|
||
|
'street': 'A fictional Street',
|
||
|
'number': 42,
|
||
|
'formatted_street_number': '42 A fictional Street'
|
||
|
}), \
|
||
|
patch.object(AutoCompleteController, '_perform_place_search',
|
||
|
lambda controller, *args, **kwargs: {
|
||
|
'results': [{
|
||
|
'formatted_address': f'Result {x}',
|
||
|
'google_place_id': MOCK_GOOGLE_ID
|
||
|
} for x in range(5)]}):
|
||
|
self.env['website'].get_current_website().google_places_api_key = MOCK_API_KEY
|
||
|
self.start_tour('/shop/address', 'autocomplete_tour')
|