summaryrefslogtreecommitdiff
path: root/addons/website/tests/test_crawl.py
diff options
context:
space:
mode:
authorOdoo's Mergebot <xmo+roboto@odoo.com>2019-11-07 08:37:12 +0100
committerGitHub <noreply@github.com>2019-11-07 08:37:12 +0100
commitcfc65bd1b72b6fb7833f67fa580fa9fdac28b1f5 (patch)
treec1aa353aa7e29d0ed918911dbdce456ed957b72e /addons/website/tests/test_crawl.py
parenta3f5afdd53f5f0d8d76427fe14dce6f02e064a75 (diff)
parentbc8fe668495a1d080ff883d5e61e961a128669de (diff)
[MERGE] various: Make the test suite demo data independant
Purpose ======= This is the first huge step to improve the test suite in several ways: - Make them demo data independent, allowing to modify the demo data without having to adapt the tests depending on it. It also allows to have a beautiful + convenient demo dataset to make a demonstration, and to configure complex data in the tests to manage the corner cases. - Improve the test performances by converting them into SavepointCase. Each test will be rollbacked to it's initial state, after the setUpClass call. That way the different data are not re-created at each test for nothing. - Introduce several test classes in base/tests/common.py to launch a TransactionCase, HttpCase or SavepointCase test with an available demo user, portal user or a large set of partners. - This is the first step to tend to a rolling release process, allowing to execute the tests (or a subset of the tests) on a migrated base, for example. closes odoo/odoo#39868 Taskid: 2075739 Signed-off-by: Yannick Tivisse (yti) <yti@odoo.com>
Diffstat (limited to 'addons/website/tests/test_crawl.py')
-rw-r--r--addons/website/tests/test_crawl.py22
1 files changed, 20 insertions, 2 deletions
diff --git a/addons/website/tests/test_crawl.py b/addons/website/tests/test_crawl.py
index 81907aa3a16..62df28c0f38 100644
--- a/addons/website/tests/test_crawl.py
+++ b/addons/website/tests/test_crawl.py
@@ -10,12 +10,13 @@ from werkzeug import urls
import odoo
import re
+from odoo.addons.base.tests.common import HttpCaseWithUserDemo
_logger = logging.getLogger(__name__)
-@odoo.tests.common.tagged('post_install', '-at_install')
-class Crawler(odoo.tests.HttpCase):
+@odoo.tests.common.tagged('post_install', '-at_install', 'crawl')
+class Crawler(HttpCaseWithUserDemo):
""" Test suite crawling an Odoo CMS instance and checking that all
internal links lead to a 200 response.
@@ -23,6 +24,23 @@ class Crawler(odoo.tests.HttpCase):
starting the crawl
"""
+ def setUp(self):
+ super(Crawler, self).setUp()
+
+ if hasattr(self.env['res.partner'], 'grade_id'):
+ # Create at least one published parter, so that /partners doesn't
+ # return a 404
+ grade = self.env['res.partner.grade'].create({
+ 'name': 'A test grade',
+ 'website_published': True,
+ })
+ self.env['res.partner'].create({
+ 'name': 'A Company for /partners',
+ 'is_company': True,
+ 'grade_id': grade.id,
+ 'website_published': True,
+ })
+
def crawl(self, url, seen=None, msg=''):
if seen is None:
seen = set()