summaryrefslogtreecommitdiff
path: root/addons/website/tests/test_controllers.py
diff options
context:
space:
mode:
authorstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
committerstephanchrst <stephanchrst@gmail.com>2022-05-10 21:51:50 +0700
commit3751379f1e9a4c215fb6eb898b4ccc67659b9ace (patch)
treea44932296ef4a9b71d5f010906253d8c53727726 /addons/website/tests/test_controllers.py
parent0a15094050bfde69a06d6eff798e9a8ddf2b8c21 (diff)
initial commit 2
Diffstat (limited to 'addons/website/tests/test_controllers.py')
-rw-r--r--addons/website/tests/test_controllers.py46
1 files changed, 46 insertions, 0 deletions
diff --git a/addons/website/tests/test_controllers.py b/addons/website/tests/test_controllers.py
new file mode 100644
index 00000000..9bb167fe
--- /dev/null
+++ b/addons/website/tests/test_controllers.py
@@ -0,0 +1,46 @@
+# -*- coding: utf-8 -*-
+# Part of Odoo. See LICENSE file for full copyright and licensing details.
+
+import json
+
+from odoo import tests
+from odoo.tools import mute_logger
+
+
+@tests.tagged('post_install', '-at_install')
+class TestControllers(tests.HttpCase):
+
+ @mute_logger('odoo.addons.http_routing.models.ir_http', 'odoo.http')
+ def test_last_created_pages_autocompletion(self):
+ self.authenticate("admin", "admin")
+ Page = self.env['website.page']
+ last_5_url_edited = []
+ base_url = self.env['ir.config_parameter'].sudo().get_param('web.base.url')
+ suggested_links_url = base_url + '/website/get_suggested_links'
+
+ for i in range(0, 10):
+ new_page = Page.create({
+ 'name': 'Generic',
+ 'type': 'qweb',
+ 'arch': '''
+ <div>content</div>
+ ''',
+ 'key': "test.generic_view-%d" % i,
+ 'url': "/generic-%d" % i,
+ 'is_published': True,
+ })
+ if i % 2 == 0:
+ # mark as old
+ new_page._write({'write_date': '2020-01-01'})
+ else:
+ last_5_url_edited.append(new_page.url)
+
+ res = self.opener.post(url=suggested_links_url, json={'params': {'needle': '/'}})
+ resp = json.loads(res.content)
+ assert 'result' in resp
+ suggested_links = resp['result']
+ last_modified_history = next(o for o in suggested_links['others'] if o["title"] == "Last modified pages")
+ last_modified_values = map(lambda o: o['value'], last_modified_history['values'])
+
+ matching_pages = set(map(lambda o: o['value'], suggested_links['matching_pages']))
+ self.assertEqual(set(last_modified_values), set(last_5_url_edited) - matching_pages)