mirror of
https://github.com/OCA/reporting-engine.git
synced 2025-02-16 16:30:38 +02:00
pre-commit
This commit is contained in:
@@ -4,181 +4,186 @@
|
||||
import json
|
||||
|
||||
import odoo
|
||||
from odoo.exceptions import UserError, ValidationError
|
||||
from odoo.tests.common import TransactionCase
|
||||
from odoo.tools import mute_logger
|
||||
from odoo.exceptions import UserError, ValidationError
|
||||
|
||||
from ..hooks import post_load, uninstall_hook
|
||||
|
||||
|
||||
class TestBiViewEditor(TransactionCase):
|
||||
|
||||
def setUp(self):
|
||||
|
||||
def _get_models(model_name_list):
|
||||
return (self.env['ir.model'].search([
|
||||
('model', '=', name)
|
||||
]) for name in model_name_list)
|
||||
return (
|
||||
self.env["ir.model"].search([("model", "=", name)])
|
||||
for name in model_name_list
|
||||
)
|
||||
|
||||
def _get_fields(model_field_list):
|
||||
return (self.env['ir.model.fields'].search([
|
||||
('model', '=', model_field[0]),
|
||||
('name', '=', model_field[1])
|
||||
], limit=1) for model_field in model_field_list)
|
||||
return (
|
||||
self.env["ir.model.fields"].search(
|
||||
[("model", "=", model_field[0]), ("name", "=", model_field[1])],
|
||||
limit=1,
|
||||
)
|
||||
for model_field in model_field_list
|
||||
)
|
||||
|
||||
def get_new_field(self):
|
||||
return {
|
||||
'model_id': self.partner_model.id,
|
||||
'name': self.partner_field_name,
|
||||
'id': self.partner_field.id,
|
||||
'model': self.partner_model_name,
|
||||
'type': self.partner_field.ttype,
|
||||
'model_name': self.partner_model.name,
|
||||
'description': self.partner_field.field_description
|
||||
"model_id": self.partner_model.id,
|
||||
"name": self.partner_field_name,
|
||||
"id": self.partner_field.id,
|
||||
"model": self.partner_model_name,
|
||||
"type": self.partner_field.ttype,
|
||||
"model_name": self.partner_model.name,
|
||||
"description": self.partner_field.field_description,
|
||||
}
|
||||
|
||||
super().setUp()
|
||||
self.partner_model_name = 'res.partner'
|
||||
self.partner_field_name = 'name'
|
||||
self.partner_company_field_name = 'company_id'
|
||||
self.company_model_name = 'res.company'
|
||||
self.company_field_name = 'name'
|
||||
self.partner_model_name = "res.partner"
|
||||
self.partner_field_name = "name"
|
||||
self.partner_company_field_name = "company_id"
|
||||
self.company_model_name = "res.company"
|
||||
self.company_field_name = "name"
|
||||
|
||||
self.bi_view1 = None
|
||||
|
||||
self.partner_model, self.company_model = _get_models(
|
||||
[self.partner_model_name, self.company_model_name])
|
||||
[self.partner_model_name, self.company_model_name]
|
||||
)
|
||||
|
||||
(self.partner_field,
|
||||
self.partner_company_field,
|
||||
self.company_field) = _get_fields([
|
||||
(self.partner_model_name, self.partner_field_name),
|
||||
(self.partner_model_name, self.partner_company_field_name),
|
||||
(self.company_model_name, self.company_field_name)])
|
||||
(
|
||||
self.partner_field,
|
||||
self.partner_company_field,
|
||||
self.company_field,
|
||||
) = _get_fields(
|
||||
[
|
||||
(self.partner_model_name, self.partner_field_name),
|
||||
(self.partner_model_name, self.partner_company_field_name),
|
||||
(self.company_model_name, self.company_field_name),
|
||||
]
|
||||
)
|
||||
|
||||
self.data = [{
|
||||
'model_id': self.partner_model.id,
|
||||
'model_name': self.partner_model.name,
|
||||
'model': self.partner_model_name,
|
||||
'type': self.partner_field.ttype,
|
||||
'id': self.partner_field.id,
|
||||
'description': self.partner_field.field_description,
|
||||
'table_alias': 't0',
|
||||
'row': 0,
|
||||
'column': 1,
|
||||
'list': 1,
|
||||
'measure': 0
|
||||
}, {
|
||||
'model_id': self.partner_model.id,
|
||||
'table_alias': 't0',
|
||||
'relation': self.company_model_name,
|
||||
'model': self.partner_model_name,
|
||||
'model_name': self.partner_model.name,
|
||||
'type': self.partner_company_field.ttype,
|
||||
'id': self.partner_company_field.id,
|
||||
'join_node': 't1',
|
||||
'description': self.partner_company_field.field_description,
|
||||
'row': 0,
|
||||
'column': 0,
|
||||
'list': 1,
|
||||
'measure': 0
|
||||
}, {
|
||||
'model_id': self.company_model.id,
|
||||
'model_name': self.company_model.name,
|
||||
'model': self.company_model_name,
|
||||
'type': self.company_field.ttype,
|
||||
'id': self.company_field.id,
|
||||
'description': self.company_field.field_description,
|
||||
'table_alias': 't1',
|
||||
'row': 1,
|
||||
'column': 0,
|
||||
'list': 0,
|
||||
'measure': 0
|
||||
}]
|
||||
self.bi_view1_vals = {
|
||||
'state': 'draft',
|
||||
'data': json.dumps(self.data)
|
||||
}
|
||||
self.data = [
|
||||
{
|
||||
"model_id": self.partner_model.id,
|
||||
"model_name": self.partner_model.name,
|
||||
"model": self.partner_model_name,
|
||||
"type": self.partner_field.ttype,
|
||||
"id": self.partner_field.id,
|
||||
"description": self.partner_field.field_description,
|
||||
"table_alias": "t0",
|
||||
"row": 0,
|
||||
"column": 1,
|
||||
"list": 1,
|
||||
"measure": 0,
|
||||
},
|
||||
{
|
||||
"model_id": self.partner_model.id,
|
||||
"table_alias": "t0",
|
||||
"relation": self.company_model_name,
|
||||
"model": self.partner_model_name,
|
||||
"model_name": self.partner_model.name,
|
||||
"type": self.partner_company_field.ttype,
|
||||
"id": self.partner_company_field.id,
|
||||
"join_node": "t1",
|
||||
"description": self.partner_company_field.field_description,
|
||||
"row": 0,
|
||||
"column": 0,
|
||||
"list": 1,
|
||||
"measure": 0,
|
||||
},
|
||||
{
|
||||
"model_id": self.company_model.id,
|
||||
"model_name": self.company_model.name,
|
||||
"model": self.company_model_name,
|
||||
"type": self.company_field.ttype,
|
||||
"id": self.company_field.id,
|
||||
"description": self.company_field.field_description,
|
||||
"table_alias": "t1",
|
||||
"row": 1,
|
||||
"column": 0,
|
||||
"list": 0,
|
||||
"measure": 0,
|
||||
},
|
||||
]
|
||||
self.bi_view1_vals = {"state": "draft", "data": json.dumps(self.data)}
|
||||
|
||||
self.new_field = get_new_field(self)
|
||||
|
||||
def test_01_get_fields(self):
|
||||
fields = self.env['ir.model'].get_fields(self.partner_model.id)
|
||||
fields = self.env["ir.model"].get_fields(self.partner_model.id)
|
||||
self.assertIsInstance(fields, list)
|
||||
self.assertGreater(len(fields), 0)
|
||||
|
||||
def test_02_get_join_nodes(self):
|
||||
field_res_users = self.env['ir.model.fields'].search([
|
||||
('name', '=', 'login'),
|
||||
('model', '=', 'res.users')
|
||||
], limit=1)
|
||||
field_data = [{
|
||||
'model_id': field_res_users.model_id.id,
|
||||
'name': 'login',
|
||||
'column': False,
|
||||
'table_alias': 't0',
|
||||
'measure': False,
|
||||
'id': field_res_users.id,
|
||||
'model': 'res.users',
|
||||
'row': False,
|
||||
'type': 'char',
|
||||
'model_name': 'Users',
|
||||
'description': 'Login'
|
||||
}]
|
||||
field_res_users = self.env["ir.model.fields"].search(
|
||||
[("name", "=", "login"), ("model", "=", "res.users")], limit=1
|
||||
)
|
||||
field_data = [
|
||||
{
|
||||
"model_id": field_res_users.model_id.id,
|
||||
"name": "login",
|
||||
"column": False,
|
||||
"table_alias": "t0",
|
||||
"measure": False,
|
||||
"id": field_res_users.id,
|
||||
"model": "res.users",
|
||||
"row": False,
|
||||
"type": "char",
|
||||
"model_name": "Users",
|
||||
"description": "Login",
|
||||
}
|
||||
]
|
||||
new_field = self.new_field
|
||||
nodes = self.env['ir.model'].get_join_nodes(field_data, new_field)
|
||||
nodes = self.env["ir.model"].get_join_nodes(field_data, new_field)
|
||||
self.assertIsInstance(nodes, list)
|
||||
self.assertGreater(len(nodes), 0)
|
||||
|
||||
def test_03_get_join_nodes(self):
|
||||
new_field = self.new_field
|
||||
nodes = self.env['ir.model'].get_join_nodes([], new_field)
|
||||
nodes = self.env["ir.model"].get_join_nodes([], new_field)
|
||||
self.assertIsInstance(nodes, list)
|
||||
self.assertEqual(len(nodes), 0)
|
||||
|
||||
def test_04_get_related_models(self):
|
||||
all_models = self.env['ir.model'].get_models()
|
||||
all_models = self.env["ir.model"].get_models()
|
||||
self.assertIsInstance(all_models, list)
|
||||
self.assertGreater(len(all_models), 0)
|
||||
|
||||
related_models = self.env['ir.model'].get_models({
|
||||
't0': self.partner_model.id,
|
||||
't1': self.company_model.id
|
||||
})
|
||||
related_models = self.env["ir.model"].get_models(
|
||||
{"t0": self.partner_model.id, "t1": self.company_model.id}
|
||||
)
|
||||
self.assertIsInstance(related_models, list)
|
||||
self.assertGreater(len(related_models), 0)
|
||||
|
||||
def test_05_create_copy_view(self):
|
||||
vals = self.bi_view1_vals
|
||||
vals.update({'name': 'Test View1'})
|
||||
vals.update({"name": "Test View1"})
|
||||
|
||||
# create
|
||||
bi_view1 = self.env['bve.view'].create(vals)
|
||||
bi_view1 = self.env["bve.view"].create(vals)
|
||||
self.assertIsNotNone(bi_view1)
|
||||
self.assertEqual(len(bi_view1), 1)
|
||||
self.assertEqual(bi_view1.state, 'draft')
|
||||
self.assertEqual(bi_view1.state, "draft")
|
||||
|
||||
# copy
|
||||
bi_view2 = bi_view1.copy()
|
||||
self.assertEqual(bi_view2.name, 'Test View1 (copy)')
|
||||
self.assertEqual(bi_view2.name, "Test View1 (copy)")
|
||||
|
||||
def test_06_create_group_bve_object(self):
|
||||
vals = self.bi_view1_vals
|
||||
employees_group = self.env.ref('base.group_user')
|
||||
vals.update({
|
||||
'name': 'Test View2',
|
||||
'group_ids': [(6, 0, [employees_group.id])],
|
||||
})
|
||||
employees_group = self.env.ref("base.group_user")
|
||||
vals.update(
|
||||
{"name": "Test View2", "group_ids": [(6, 0, [employees_group.id])],}
|
||||
)
|
||||
|
||||
bi_view2 = self.env['bve.view'].create(vals)
|
||||
bi_view2 = self.env["bve.view"].create(vals)
|
||||
self.assertEqual(len(bi_view2.user_ids), len(employees_group.users))
|
||||
|
||||
def test_07_check_empty_data(self):
|
||||
vals = {
|
||||
'name': 'Test View Empty',
|
||||
'state': 'draft',
|
||||
'data': ''
|
||||
}
|
||||
bi_view4 = self.env['bve.view'].create(vals)
|
||||
vals = {"name": "Test View Empty", "state": "draft", "data": ""}
|
||||
bi_view4 = self.env["bve.view"].create(vals)
|
||||
self.assertEqual(len(bi_view4), 1)
|
||||
self.assertTrue(bi_view4.er_diagram_image)
|
||||
|
||||
@@ -187,19 +192,18 @@ class TestBiViewEditor(TransactionCase):
|
||||
bi_view4.action_create()
|
||||
|
||||
def test_08_get_models(self):
|
||||
models = self.env['ir.model'].get_models()
|
||||
models = self.env["ir.model"].get_models()
|
||||
self.assertIsInstance(models, list)
|
||||
self.assertGreater(len(models), 0)
|
||||
|
||||
@odoo.tests.tagged('post_install', '-at_install')
|
||||
@odoo.tests.tagged("post_install", "-at_install")
|
||||
def test_09_create_open_bve_object(self):
|
||||
vals = self.bi_view1_vals
|
||||
employees_group = self.env.ref('base.group_user')
|
||||
vals.update({
|
||||
'name': 'Test View4',
|
||||
'group_ids': [(6, 0, [employees_group.id])],
|
||||
})
|
||||
bi_view = self.env['bve.view'].create(vals)
|
||||
employees_group = self.env.ref("base.group_user")
|
||||
vals.update(
|
||||
{"name": "Test View4", "group_ids": [(6, 0, [employees_group.id])],}
|
||||
)
|
||||
bi_view = self.env["bve.view"].create(vals)
|
||||
self.assertEqual(len(bi_view), 1)
|
||||
self.assertEqual(len(bi_view.line_ids), 3)
|
||||
self.assertTrue(bi_view.er_diagram_image)
|
||||
@@ -223,16 +227,15 @@ class TestBiViewEditor(TransactionCase):
|
||||
|
||||
# create bve object
|
||||
bi_view.action_create()
|
||||
model = self.env['ir.model'].search([
|
||||
('model', '=', 'x_bve.testview4'),
|
||||
('name', '=', 'Test View4')
|
||||
])
|
||||
model = self.env["ir.model"].search(
|
||||
[("model", "=", "x_bve.testview4"), ("name", "=", "Test View4")]
|
||||
)
|
||||
self.assertEqual(len(model), 1)
|
||||
|
||||
# open view
|
||||
open_action = bi_view.open_view()
|
||||
self.assertEqual(isinstance(open_action, dict), True)
|
||||
self.assertEqual(bi_view.state, 'created')
|
||||
self.assertEqual(bi_view.state, "created")
|
||||
|
||||
# try to remove view
|
||||
with self.assertRaises(UserError):
|
||||
@@ -240,65 +243,65 @@ class TestBiViewEditor(TransactionCase):
|
||||
|
||||
# reset to draft
|
||||
bi_view.action_reset()
|
||||
self.assertEqual(bi_view.state, 'draft')
|
||||
self.assertEqual(bi_view.state, "draft")
|
||||
|
||||
# remove view
|
||||
bi_view.unlink()
|
||||
|
||||
@odoo.tests.tagged('post_install', '-at_install')
|
||||
@odoo.tests.tagged("post_install", "-at_install")
|
||||
def test_10_create_open_bve_object_apostrophe(self):
|
||||
vals = self.bi_view1_vals
|
||||
vals.update({
|
||||
'name': "Test View5",
|
||||
})
|
||||
vals.update(
|
||||
{"name": "Test View5",}
|
||||
)
|
||||
data_list = list()
|
||||
for r in json.loads(vals['data']):
|
||||
r['model_name'] = "model'name"
|
||||
for r in json.loads(vals["data"]):
|
||||
r["model_name"] = "model'name"
|
||||
data_list.append(r)
|
||||
new_format_data = json.dumps(data_list)
|
||||
vals.update({'data': new_format_data})
|
||||
bi_view = self.env['bve.view'].create(vals)
|
||||
vals.update({"data": new_format_data})
|
||||
bi_view = self.env["bve.view"].create(vals)
|
||||
self.assertEqual(len(bi_view), 1)
|
||||
# create bve object
|
||||
bi_view.action_create()
|
||||
|
||||
def test_11_clean_nodes(self):
|
||||
data_dict1 = {
|
||||
'sequence': 1,
|
||||
'model_id': 74,
|
||||
'id': 858,
|
||||
'name': 'name',
|
||||
'model_name': 'Contact',
|
||||
'model': 'res.partner',
|
||||
'type': 'char',
|
||||
'table_alias': 't74',
|
||||
'description': 'Name',
|
||||
'row': False,
|
||||
'column': False,
|
||||
'measure': False,
|
||||
'list': True,
|
||||
"sequence": 1,
|
||||
"model_id": 74,
|
||||
"id": 858,
|
||||
"name": "name",
|
||||
"model_name": "Contact",
|
||||
"model": "res.partner",
|
||||
"type": "char",
|
||||
"table_alias": "t74",
|
||||
"description": "Name",
|
||||
"row": False,
|
||||
"column": False,
|
||||
"measure": False,
|
||||
"list": True,
|
||||
}
|
||||
data_dict2 = {
|
||||
'sequence': 2,
|
||||
'model_id': 74,
|
||||
'id': 896,
|
||||
'name': 'company_id',
|
||||
'model_name': 'Contact',
|
||||
'model': 'res.partner',
|
||||
'type': 'many2one',
|
||||
'table_alias': 't74',
|
||||
'description': 'Company',
|
||||
'row': False,
|
||||
'column': False,
|
||||
'measure': False,
|
||||
'list': True,
|
||||
'join_node': 't83',
|
||||
'relation': 'res.company',
|
||||
'join_left': False
|
||||
"sequence": 2,
|
||||
"model_id": 74,
|
||||
"id": 896,
|
||||
"name": "company_id",
|
||||
"model_name": "Contact",
|
||||
"model": "res.partner",
|
||||
"type": "many2one",
|
||||
"table_alias": "t74",
|
||||
"description": "Company",
|
||||
"row": False,
|
||||
"column": False,
|
||||
"measure": False,
|
||||
"list": True,
|
||||
"join_node": "t83",
|
||||
"relation": "res.company",
|
||||
"join_left": False,
|
||||
}
|
||||
|
||||
old_data = json.dumps([data_dict1, data_dict2])
|
||||
new_data = self.env['bve.view'].get_clean_list(old_data)
|
||||
new_data = self.env["bve.view"].get_clean_list(old_data)
|
||||
new_data_dict = json.loads(new_data)
|
||||
self.assertEqual(len(new_data_dict), 1)
|
||||
for key in data_dict1.keys():
|
||||
@@ -306,27 +309,25 @@ class TestBiViewEditor(TransactionCase):
|
||||
|
||||
def test_12_check_groups(self):
|
||||
vals = self.bi_view1_vals
|
||||
group_system = self.env.ref('base.group_system')
|
||||
vals.update({
|
||||
'name': 'Test View1',
|
||||
'group_ids': [(6, 0, [group_system.id])],
|
||||
})
|
||||
bi_view1 = self.env['bve.view'].create(vals)
|
||||
group_system = self.env.ref("base.group_system")
|
||||
vals.update(
|
||||
{"name": "Test View1", "group_ids": [(6, 0, [group_system.id])],}
|
||||
)
|
||||
bi_view1 = self.env["bve.view"].create(vals)
|
||||
with self.assertRaises(UserError):
|
||||
bi_view1.action_create()
|
||||
|
||||
def test_13_check_lines_missing_model(self):
|
||||
vals = self.bi_view1_vals
|
||||
group_user = self.env.ref('base.group_user')
|
||||
vals.update({
|
||||
'name': 'Test View1',
|
||||
'group_ids': [(6, 0, [group_user.id])],
|
||||
})
|
||||
bi_view1 = self.env['bve.view'].create(vals)
|
||||
group_user = self.env.ref("base.group_user")
|
||||
vals.update(
|
||||
{"name": "Test View1", "group_ids": [(6, 0, [group_user.id])],}
|
||||
)
|
||||
bi_view1 = self.env["bve.view"].create(vals)
|
||||
for line in bi_view1.line_ids:
|
||||
self.assertTrue(line.model_id)
|
||||
self.assertTrue(line.model_name)
|
||||
self.env.cr.execute('UPDATE bve_view_line SET model_id = null')
|
||||
self.env.cr.execute("UPDATE bve_view_line SET model_id = null")
|
||||
bi_view1.invalidate_cache()
|
||||
for line in bi_view1.line_ids:
|
||||
self.assertFalse(line.model_id)
|
||||
@@ -336,16 +337,15 @@ class TestBiViewEditor(TransactionCase):
|
||||
|
||||
def test_14_check_lines_missing_fieldl(self):
|
||||
vals = self.bi_view1_vals
|
||||
group_user = self.env.ref('base.group_user')
|
||||
vals.update({
|
||||
'name': 'Test View1',
|
||||
'group_ids': [(6, 0, [group_user.id])],
|
||||
})
|
||||
bi_view1 = self.env['bve.view'].create(vals)
|
||||
group_user = self.env.ref("base.group_user")
|
||||
vals.update(
|
||||
{"name": "Test View1", "group_ids": [(6, 0, [group_user.id])],}
|
||||
)
|
||||
bi_view1 = self.env["bve.view"].create(vals)
|
||||
for line in bi_view1.line_ids:
|
||||
self.assertTrue(line.field_id)
|
||||
self.assertTrue(line.field_name)
|
||||
self.env.cr.execute('UPDATE bve_view_line SET field_id = null')
|
||||
self.env.cr.execute("UPDATE bve_view_line SET field_id = null")
|
||||
bi_view1.invalidate_cache()
|
||||
for line in bi_view1.line_ids:
|
||||
self.assertFalse(line.field_id)
|
||||
@@ -355,8 +355,8 @@ class TestBiViewEditor(TransactionCase):
|
||||
|
||||
def test_15_create_lines(self):
|
||||
vals = self.bi_view1_vals
|
||||
vals.update({'name': 'Test View1'})
|
||||
bi_view1 = self.env['bve.view'].create(vals)
|
||||
vals.update({"name": "Test View1"})
|
||||
bi_view1 = self.env["bve.view"].create(vals)
|
||||
bi_view1._compute_serialized_data()
|
||||
data = json.loads(bi_view1.data)
|
||||
self.assertTrue(data)
|
||||
@@ -369,10 +369,10 @@ class TestBiViewEditor(TransactionCase):
|
||||
uninstall_hook(self.cr, self.env)
|
||||
|
||||
def test_18_action_translations(self):
|
||||
self.env['res.lang'].load_lang('it_IT')
|
||||
self.env["res.lang"].load_lang("it_IT")
|
||||
vals = self.bi_view1_vals
|
||||
vals.update({'name': 'Test View1'})
|
||||
bi_view1 = self.env['bve.view'].create(vals)
|
||||
vals.update({"name": "Test View1"})
|
||||
bi_view1 = self.env["bve.view"].create(vals)
|
||||
res = bi_view1.action_translations()
|
||||
self.assertFalse(res)
|
||||
|
||||
@@ -380,36 +380,38 @@ class TestBiViewEditor(TransactionCase):
|
||||
res = bi_view1.action_translations()
|
||||
self.assertTrue(res)
|
||||
|
||||
@odoo.tests.tagged('post_install', '-at_install')
|
||||
@odoo.tests.tagged("post_install", "-at_install")
|
||||
def test_19_field_selection(self):
|
||||
field = self.env['ir.model.fields'].search([
|
||||
('model', '=', self.company_model_name),
|
||||
('name', '=', 'base_onboarding_company_state')
|
||||
], limit=1)
|
||||
selection_data = [{
|
||||
'model_id': self.company_model.id,
|
||||
'model_name': self.company_model.name,
|
||||
'model': self.company_model_name,
|
||||
'type': field.ttype,
|
||||
'id': field.id,
|
||||
'description': 'State of the onboarding company step',
|
||||
'table_alias': 't1',
|
||||
'row': 0,
|
||||
'column': 0,
|
||||
'list': 1,
|
||||
'measure': 0
|
||||
}]
|
||||
vals = {
|
||||
'state': 'draft',
|
||||
'data': json.dumps(self.data + selection_data)
|
||||
}
|
||||
field = self.env["ir.model.fields"].search(
|
||||
[
|
||||
("model", "=", self.company_model_name),
|
||||
("name", "=", "base_onboarding_company_state"),
|
||||
],
|
||||
limit=1,
|
||||
)
|
||||
selection_data = [
|
||||
{
|
||||
"model_id": self.company_model.id,
|
||||
"model_name": self.company_model.name,
|
||||
"model": self.company_model_name,
|
||||
"type": field.ttype,
|
||||
"id": field.id,
|
||||
"description": "State of the onboarding company step",
|
||||
"table_alias": "t1",
|
||||
"row": 0,
|
||||
"column": 0,
|
||||
"list": 1,
|
||||
"measure": 0,
|
||||
}
|
||||
]
|
||||
vals = {"state": "draft", "data": json.dumps(self.data + selection_data)}
|
||||
|
||||
vals.update({'name': 'Test View6'})
|
||||
bi_view1 = self.env['bve.view'].create(vals)
|
||||
vals.update({"name": "Test View6"})
|
||||
bi_view1 = self.env["bve.view"].create(vals)
|
||||
bi_view1.action_create()
|
||||
self.assertEqual(len(bi_view1.line_ids), 4)
|
||||
|
||||
@mute_logger('odoo.sql_db')
|
||||
@mute_logger("odoo.sql_db")
|
||||
def test_20_broken_view(self):
|
||||
"""
|
||||
Create a broken query, a nice UserError should be raised.
|
||||
@@ -417,15 +419,14 @@ class TestBiViewEditor(TransactionCase):
|
||||
ERROR: bad_query line in the logs.
|
||||
"""
|
||||
vals = self.bi_view1_vals
|
||||
vals.update({
|
||||
'name': 'Test View broken',
|
||||
'over_condition': 'bad SQL code',
|
||||
})
|
||||
bi_view = self.env['bve.view'].create(vals)
|
||||
vals.update(
|
||||
{"name": "Test View broken", "over_condition": "bad SQL code",}
|
||||
)
|
||||
bi_view = self.env["bve.view"].create(vals)
|
||||
with self.assertRaises(UserError) as ue:
|
||||
bi_view.action_create()
|
||||
|
||||
self.assertEqual(bi_view.state, 'draft')
|
||||
self.assertEqual(bi_view.state, "draft")
|
||||
self.assertIn(bi_view.over_condition, str(ue.exception))
|
||||
# remove view
|
||||
bi_view.unlink()
|
||||
|
||||
Reference in New Issue
Block a user