changes
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -2,3 +2,4 @@
|
||||
|
||||
from . import test_signed_pages_gate
|
||||
from . import test_application_received_wizard
|
||||
from . import test_dashboard
|
||||
|
||||
59
fusion_claims/tests/test_dashboard.py
Normal file
59
fusion_claims/tests/test_dashboard.py
Normal file
@@ -0,0 +1,59 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
from odoo.tests.common import TransactionCase, tagged
|
||||
|
||||
|
||||
@tagged('-at_install', 'post_install', 'fusion_claims')
|
||||
class TestFusionClaimsDashboard(TransactionCase):
|
||||
|
||||
@classmethod
|
||||
def setUpClass(cls):
|
||||
super().setUpClass()
|
||||
cls.Dashboard = cls.env['fusion.claims.dashboard']
|
||||
cls.User = cls.env['res.users']
|
||||
cls.Partner = cls.env['res.partner']
|
||||
|
||||
# Manager user (sees everything)
|
||||
cls.manager = cls.User.create({
|
||||
'name': 'Test Dashboard Manager',
|
||||
'login': 'test_dash_mgr',
|
||||
'group_ids': [
|
||||
(4, cls.env.ref('fusion_claims.group_fusion_claims_manager').id),
|
||||
(4, cls.env.ref('sales_team.group_sale_salesman').id),
|
||||
],
|
||||
})
|
||||
|
||||
# Sales rep (sees only own cases)
|
||||
cls.salesrep = cls.User.create({
|
||||
'name': 'Test Dashboard Salesrep',
|
||||
'login': 'test_dash_rep',
|
||||
'group_ids': [
|
||||
(4, cls.env.ref('fusion_claims.group_fusion_claims_user').id),
|
||||
(4, cls.env.ref('sales_team.group_sale_salesman').id),
|
||||
],
|
||||
})
|
||||
|
||||
cls.partner = cls.Partner.create({'name': 'Test Client'})
|
||||
|
||||
def test_dashboard_record_creates(self):
|
||||
dashboard = self.Dashboard.create({})
|
||||
self.assertTrue(dashboard.id, "Dashboard record should be creatable")
|
||||
self.assertEqual(dashboard.name, 'Dashboard')
|
||||
|
||||
def test_role_filter_empty_for_manager(self):
|
||||
dashboard = self.Dashboard.with_user(self.manager).create({})
|
||||
self.assertEqual(dashboard._role_filter_domain(), [],
|
||||
"Manager should see all cases (empty domain)")
|
||||
|
||||
def test_role_filter_restricts_for_salesrep(self):
|
||||
dashboard = self.Dashboard.with_user(self.salesrep).create({})
|
||||
domain = dashboard._role_filter_domain()
|
||||
self.assertEqual(domain, [('user_id', '=', self.salesrep.id)],
|
||||
"Sales rep should see only their own SOs")
|
||||
|
||||
def test_is_manager_true_for_manager(self):
|
||||
dashboard = self.Dashboard.with_user(self.manager).create({})
|
||||
self.assertTrue(dashboard.is_manager)
|
||||
|
||||
def test_is_manager_false_for_salesrep(self):
|
||||
dashboard = self.Dashboard.with_user(self.salesrep).create({})
|
||||
self.assertFalse(dashboard.is_manager)
|
||||
Reference in New Issue
Block a user