You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
48 lines
2.1 KiB
48 lines
2.1 KiB
# Copyright 2019 Ecosoft Co., Ltd (http://ecosoft.co.th/)
|
|
# License AGPL-3.0 or later (https://www.gnu.org/licenses/agpl.html)
|
|
from .test_common import TestExcelImportExport
|
|
from odoo.tests.common import Form
|
|
|
|
|
|
class TestXLSXImportExport(TestExcelImportExport):
|
|
|
|
@classmethod
|
|
def setUpClass(cls):
|
|
super(TestExcelImportExport, cls).setUpClass()
|
|
|
|
def test_xlsx_export_import(self):
|
|
""" Test Export Excel from Sales Order """
|
|
# Create Sales Order
|
|
self.setUpSaleOrder()
|
|
# ----------- EXPORT ---------------
|
|
ctx = {'active_model': 'sale.order',
|
|
'active_id': self.sale_order.id,
|
|
'template_domain': [('res_model', '=', 'sale.order'),
|
|
('fname', '=', 'sale_order.xlsx'),
|
|
('gname', '=', False)], }
|
|
f = Form(self.env['export.xlsx.wizard'].with_context(ctx))
|
|
export_wizard = f.save()
|
|
# Test whether it loads correct template
|
|
self.assertEqual(export_wizard.template_id,
|
|
self.env.ref('excel_import_export_demo.'
|
|
'sale_order_xlsx_template'))
|
|
# Export excel
|
|
export_wizard.action_export()
|
|
self.assertTrue(export_wizard.data)
|
|
self.export_file = export_wizard.data
|
|
|
|
# ----------- IMPORT ---------------
|
|
ctx = {'active_model': 'sale.order',
|
|
'active_id': self.sale_order.id,
|
|
'template_domain': [('res_model', '=', 'sale.order'),
|
|
('fname', '=', 'sale_order.xlsx'),
|
|
('gname', '=', False)], }
|
|
with Form(self.env['import.xlsx.wizard'].with_context(ctx)) as f:
|
|
f.import_file = self.export_file
|
|
import_wizard = f.save()
|
|
# Test whether it loads correct template
|
|
self.assertEqual(import_wizard.template_id,
|
|
self.env.ref('excel_import_export_demo.'
|
|
'sale_order_xlsx_template'))
|
|
# Import Excel
|
|
import_wizard.action_import()
|