knowledge/document_page_reference/tests/test_document_reference.py
2025-06-13 18:02:52 +02:00

50 lines
1.6 KiB
Python

# Copyright 2019 Creu Blanca
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl).
from odoo.tests.common import TransactionCase
from odoo.exceptions import ValidationError
class TestDocumentReference(TransactionCase):
def setUp(self):
super().setUp()
self.page_obj = self.env['document.page']
self.history_obj = self.env['document.page.history']
self.page1 = self.page_obj.create({
'name': 'Test Page 1',
'content': '${r2}',
'reference': 'R1'
})
self.page2 = self.page_obj.create({
'name': 'Test Page 1',
'content': '${r1}',
'reference': 'r2'
})
def test_constrains_01(self):
with self.assertRaises(ValidationError):
self.page2.write({'reference': self.page1.reference})
def test_constrains_02(self):
with self.assertRaises(ValidationError):
self.page2.write({'reference': self.page2.reference + '-02'})
def test_no_contrains(self):
self.page1.write({'reference': False})
self.page2.write({'reference': False})
self.assertEqual(self.page1.reference, self.page2.reference)
def test_check_raw(self):
self.assertEqual(self.page2.display_name, self.page1.get_raw_content())
def test_check_reference(self):
self.assertRegex(
self.page1.content_parsed,
'.*%s.*' % self.page2.display_name
)
def test_no_reference(self):
self.page2.reference = 'r3'
self.assertRegex(self.page1.content_parsed, '.*r2.*')