File: test_dashboard_share.py

package info (click to toggle)
odoo 18.0.0%2Bdfsg-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 878,716 kB
  • sloc: javascript: 927,937; python: 685,670; xml: 388,524; sh: 1,033; sql: 415; makefile: 26
file content (41 lines) | stat: -rw-r--r-- 1,470 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# Part of Odoo. See LICENSE file for full copyright and licensing details.

from .common import DashboardTestCommon
from odoo.exceptions import AccessError

EXCEL_FILES = [
    {
        "content": '<Types xmlns="http://schemas.openxmlformats.org/package/2006/content-types"/>',
        "path": "[Content_Types].xml",
    }
]

class DashboardSharing(DashboardTestCommon):
    def test_share_url(self):
        dashboard = self.create_dashboard()
        share_vals = {
            "spreadsheet_data": dashboard.spreadsheet_data,
            "dashboard_id": dashboard.id,
            "excel_files": EXCEL_FILES,
        }
        url = self.env["spreadsheet.dashboard.share"].action_get_share_url(share_vals)
        share = self.env["spreadsheet.dashboard.share"].search(
            [("dashboard_id", "=", dashboard.id)]
        )
        self.assertEqual(url, share.full_url)
        self.assertEqual(share.dashboard_id, dashboard)
        self.assertTrue(share.excel_export)

    def test_can_create_own(self):
        dashboard = self.create_dashboard()
        with self.with_user(self.user.login):
            share = self.share_dashboard(dashboard)

        self.assertTrue(share)
        self.assertTrue(share.create_uid, self.user)

    def test_cannot_read_others(self):
        dashboard = self.create_dashboard()
        share = self.share_dashboard(dashboard)
        with self.assertRaises(AccessError):
            share.with_user(self.user).access_token