1
0
forked from Mapan/odoo17e
odoo17e-kedaikipas58/addons/documents_spreadsheet/tests/common.py
2024-12-10 09:04:09 +07:00

73 lines
2.6 KiB
Python

# -*- coding: utf-8 -*-
# Part of Odoo. See LICENSE file for full copyright and licensing details.
from odoo.tests.common import HttpCase, new_test_user
from odoo.addons.spreadsheet_edition.tests.spreadsheet_test_case import SpreadsheetTestCase
from odoo.tools import file_open, misc
from uuid import uuid4
TEST_CONTENT = "{}"
GIF = b"R0lGODdhAQABAIAAAP///////ywAAAAAAQABAAACAkQBADs="
class SpreadsheetTestCommon(SpreadsheetTestCase):
@classmethod
def setUpClass(cls):
super(SpreadsheetTestCommon, cls).setUpClass()
cls.folder = cls.env["documents.folder"].create({"name": "Test folder"})
cls.spreadsheet_user = new_test_user(
cls.env, login="spreadsheetDude", groups="documents.group_documents_user"
)
def create_spreadsheet(self, values=None, *, user=None, name="Untitled Spreadsheet"):
if values is None:
values = {}
return (
self.env["documents.document"]
.with_user(user or self.env.user)
.create({
"spreadsheet_data": r"{}",
"folder_id": self.folder.id,
"handler": "spreadsheet",
"mimetype": "application/o-spreadsheet",
"name": name,
**values,
})
)
def share_spreadsheet(self, document):
share = self.env["documents.share"].create(
{
"folder_id": document.folder_id.id,
"document_ids": [(6, 0, [document.id])],
"type": "ids",
}
)
self.env["documents.shared.spreadsheet"].create(
{
"share_id": share.id,
"document_id": document.id,
"spreadsheet_data": document.spreadsheet_data,
}
)
return share
class SpreadsheetTestTourCommon(SpreadsheetTestCommon, HttpCase):
@classmethod
def setUpClass(cls):
super(SpreadsheetTestTourCommon, cls).setUpClass()
cls.spreadsheet_user.partner_id.country_id = cls.env.ref("base.us")
cls.env['res.users'].browse(2).partner_id.country_id = cls.env.ref("base.be")
# Avoid interference from the demo data which rename the admin user
cls.env['res.users'].browse(2).write({"name": "AdminDude"})
data_path = misc.file_path('documents_spreadsheet/demo/files/res_partner_spreadsheet.json')
with file_open(data_path, 'rb') as f:
cls.spreadsheet = cls.env["documents.document"].create({
"handler": "spreadsheet",
"folder_id": cls.folder.id,
"raw": f.read(),
"name": "Res Partner Test Spreadsheet"
})