summaryrefslogtreecommitdiff
path: root/addons/web/tests/test_export.py
diff options
context:
space:
mode:
Diffstat (limited to 'addons/web/tests/test_export.py')
-rw-r--r--addons/web/tests/test_export.py176
1 files changed, 0 insertions, 176 deletions
diff --git a/addons/web/tests/test_export.py b/addons/web/tests/test_export.py
deleted file mode 100644
index b0fed393e10..00000000000
--- a/addons/web/tests/test_export.py
+++ /dev/null
@@ -1,176 +0,0 @@
-# -*- coding: utf-8 -*-
-# Part of Odoo. See LICENSE file for full copyright and licensing details.
-
-from unittest.mock import patch
-import json
-from odoo import http
-from odoo.tests import common, new_test_user
-from odoo.addons.web.controllers.main import ExportXlsxWriter
-
-
-class TestExport(common.HttpCase):
-
- def setUp(self):
- super().setUp()
-
- # Archive demo partners
- self.env['res.users'].search([]).active = False
- self.env['res.partner'].search([]).active = False
- new_test_user(self.env, login='fef', password='pwd')
- self.authenticate('fef', 'pwd')
-
- self.env['res.partner'].create([{
- 'name': 'partner 1',
- 'comment': 'yop',
- 'website': 'yop.com',
- 'credit_limit': 0,
- },{
- 'name': 'partner 2',
- 'comment': 'yop',
- 'website': 'blop.com',
- 'credit_limit': 3,
- },{
- 'name': 'partner 3',
- 'comment': 'yop',
- 'website': 'blop.com',
- 'credit_limit': 1,
- }, {
- 'name': 'partner 4',
- 'comment': 'blop',
- 'website': 'blop.com',
- 'credit_limit': 2,
- }])
-
- self.worksheet = {} # mock worksheet
-
- self.default_params = {
- 'domain': [],
- 'fields': [{
- 'label': "Partner name",
- 'name': 'name',
- }, {
- 'label': "Comment",
- 'name': "comment",
- }, {
- 'label': 'Website',
- 'name': 'website',
- }],
- 'groupby': [],
- 'ids': False,
- 'import_compat': False,
- 'model': 'res.partner',
- }
-
- def mock_write(self, row, column, value, style=None):
- self.worksheet[row, column] = value
-
- def test_grouped_list_export(self):
-
- with patch.object(ExportXlsxWriter, 'write', self.mock_write):
- self.default_params['groupby'] = ['comment', 'website']
- params = dict(self.default_params, **{
- 'groupby': ['comment', 'website'],
- 'fields': [*self.default_params['fields'], {'label': "Credit Limit", 'name': 'credit_limit'}]
- })
- self.url_open('/web/export/xlsx', data={
- 'data': json.dumps(params),
- 'token': 'dummy',
- 'csrf_token': http.WebRequest.csrf_token(self),
- })
-
- # Main header
- self.assertEqual(self.worksheet[0, 0], "Partner name", "It should display the list header")
- self.assertEqual(self.worksheet[0, 1], "Comment", "It should display the list header")
- self.assertEqual(self.worksheet[0, 2], "Website", "It should display the list header")
- self.assertEqual(self.worksheet[0, 3], "Credit Limit", "It should display the list header")
-
- # Header: Group Comment=blop
- self.assertEqual(self.worksheet[1, 0], "blop (1)", "It should display the group header")
- self.assertEqual(self.worksheet[1, 3], 2, "It should display the aggregated value")
-
- # Header: Group Comment=blop > Website=http://blop.com
- self.assertEqual(self.worksheet[2, 0], " http://blop.com (1)", "It should display the group header")
- self.assertEqual(self.worksheet[2, 3], 2, "It should display the aggregated value")
-
- # Data: Group Comment=blop > Website=http://blop.com
- self.assertEqual(self.worksheet[3, 0], "partner 4")
- self.assertEqual(self.worksheet[3, 1], "blop")
- self.assertEqual(self.worksheet[3, 2], "http://blop.com")
- self.assertEqual(self.worksheet[3, 3], 2)
-
- # Header: Group Comment=yop
- self.assertEqual(self.worksheet[4, 0], "yop (3)", "It should display the group header")
- self.assertEqual(self.worksheet[4, 3], 4, "It should display the aggregated value")
-
- # Header: Group Comment=yop > Website=http://blop.com
- self.assertEqual(self.worksheet[5, 0], " http://blop.com (2)", "It should display the group header")
- self.assertEqual(self.worksheet[5, 3], 4, "It should display the aggregated value")
-
- # Data: Group Comment=yop > Website=http://blop.com
- self.assertEqual(self.worksheet[6, 0], "partner 2")
- self.assertEqual(self.worksheet[6, 1], "yop")
- self.assertEqual(self.worksheet[6, 2], "http://blop.com")
- self.assertEqual(self.worksheet[6, 3], 3)
-
- self.assertEqual(self.worksheet[7, 0], "partner 3")
- self.assertEqual(self.worksheet[7, 1], "yop")
- self.assertEqual(self.worksheet[7, 2], "http://blop.com")
- self.assertEqual(self.worksheet[7, 3], 1)
-
- # Header: Group Comment=yop > Website=http://yop.com
- self.assertEqual(self.worksheet[8, 0], " http://yop.com (1)", "It should display the group header")
- self.assertEqual(self.worksheet[8, 3], '', "It should not have any aggregated value")
-
- # Data: Group Comment=yop > Website=http://yop.com
- self.assertEqual(self.worksheet[9, 0], "partner 1")
- self.assertEqual(self.worksheet[9, 1], "yop")
- self.assertEqual(self.worksheet[9, 2], "http://yop.com")
- self.assertEqual(self.worksheet[9, 3], 0)
-
- # Header: Group Comment=False
- self.assertEqual(self.worksheet[10, 0], "Undefined (1)", "It should display the group header")
- self.assertEqual(self.worksheet[10, 3], '', "It should not have any aggregated value")
-
- # Header: Group Comment=False > Website=False
- self.assertEqual(self.worksheet[11, 0], " Undefined (1)", "It should display the group header")
- self.assertEqual(self.worksheet[11, 3], '', "It should not have any aggregated value")
-
- # Data: Group Comment=False > Website=False
- self.assertEqual(self.worksheet[12, 0], "fef (base.group_user)")
- self.assertEqual(self.worksheet[12, 1], "")
- self.assertEqual(self.worksheet[12, 2], "")
- self.assertEqual(self.worksheet[12, 3], 0)
-
- def test_list_export(self):
-
- with patch.object(ExportXlsxWriter, 'write', self.mock_write):
- self.url_open('/web/export/xlsx', data={
- 'data': json.dumps(self.default_params),
- 'token': 'dummy',
- 'csrf_token': http.WebRequest.csrf_token(self),
- })
-
- # Main header
- self.assertEqual(self.worksheet[0, 0], "Partner name", "It should display the list header")
- self.assertEqual(self.worksheet[0, 1], "Comment", "It should display the list header")
- self.assertEqual(self.worksheet[0, 2], "Website", "It should display the list header")
-
- self.assertEqual(self.worksheet[1, 0], "fef (base.group_user)")
- self.assertEqual(self.worksheet[1, 1], "")
- self.assertEqual(self.worksheet[1, 2], "")
-
- self.assertEqual(self.worksheet[2, 0], "partner 1")
- self.assertEqual(self.worksheet[2, 1], "yop")
- self.assertEqual(self.worksheet[2, 2], "http://yop.com")
-
- self.assertEqual(self.worksheet[3, 0], "partner 2")
- self.assertEqual(self.worksheet[3, 1], "yop")
- self.assertEqual(self.worksheet[3, 2], "http://blop.com")
-
- self.assertEqual(self.worksheet[4, 0], "partner 3")
- self.assertEqual(self.worksheet[4, 1], "yop")
- self.assertEqual(self.worksheet[4, 2], "http://blop.com")
-
- self.assertEqual(self.worksheet[5, 0], "partner 4")
- self.assertEqual(self.worksheet[5, 1], "blop")
- self.assertEqual(self.worksheet[5, 2], "http://blop.com")