Files
enterprise-addons/documents_spreadsheet/tests/test_spreadsheet_import_csv.py
T

66 lines
3.0 KiB
Python

import json
from odoo.tests.common import HttpCase
from .common import SpreadsheetTestCommon
from odoo.tools import file_open, mute_logger
class SpreadsheetImportCSV(HttpCase, SpreadsheetTestCommon):
def test_import_csv(self):
folder = self.env["documents.document"].create({"name": "New folder", "type": "folder"})
with file_open('documents_spreadsheet/tests/data/test.csv', 'rb') as f:
document_csv = self.env['documents.document'].create({
'raw': f.read(),
'name': 'test.csv',
'mimetype': 'text/csv',
'folder_id': folder.id
})
with mute_logger('odoo.addons.documents.models.documents_document'): # Creating document(s) as superuser
spreadsheet_id = document_csv.import_to_spreadsheet()
spreadsheet = self.env["documents.document"].browse(spreadsheet_id).exists()
self.assertTrue(spreadsheet)
self.assertEqual(spreadsheet.name, "test")
expected_data = {
"sheets": [
{
"cells": {
"A1": "1",
"B1": "Pamella",
"C1": "Piercy",
"D1": "[email protected]",
"A2": "2",
"B2": "Crissie",
"C2": "Narrie",
"D2": "[email protected]",
"A3": "3",
"B3": "Ruby",
"C3": "Smallcombe",
"D3": "[email protected]",
},
"comments": {}
}
]
}
self.assertEqual(json.loads(spreadsheet.raw), expected_data)
def test_import_csv_keeps_linked_record(self):
folder = self.env["documents.document"].create({"name": "New folder", "type": "folder"})
partner = self.env["res.partner"].create({"name": "Linked partner"})
with file_open('documents_spreadsheet/tests/data/test.csv', 'rb') as f:
document_csv = self.env['documents.document'].create({
'raw': f.read(),
'name': 'test.csv',
'mimetype': 'text/csv',
'folder_id': folder.id,
'res_model': 'res.partner',
'res_id': partner.id,
})
with mute_logger('odoo.addons.documents.models.documents_document'): # Creating document(s) as superuser
spreadsheet_id = document_csv.import_to_spreadsheet()
spreadsheet = self.env["documents.document"].browse(spreadsheet_id).exists()
self.assertEqual(spreadsheet.res_model, 'res.partner')
self.assertEqual(spreadsheet.res_id, partner.id)
self.assertEqual(spreadsheet.attachment_id.res_model, 'res.partner')
self.assertEqual(spreadsheet.attachment_id.res_id, partner.id)