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.

93 lines
3.8 KiB

10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago
  1. # -*- encoding: utf-8 -*-
  2. ##############################################################################
  3. #
  4. # mis_builder module for Odoo, Management Information System Builder
  5. # Copyright (C) 2014-2015 ACSONE SA/NV (<http://acsone.eu>)
  6. #
  7. # This file is a part of mis_builder
  8. #
  9. # mis_builder is free software: you can redistribute it and/or modify
  10. # it under the terms of the GNU Affero General Public License v3 or later
  11. # as published by the Free Software Foundation, either version 3 of the
  12. # License, or (at your option) any later version.
  13. #
  14. # mis_builder is distributed in the hope that it will be useful,
  15. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  16. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  17. # GNU Affero General Public License v3 or later for more details.
  18. #
  19. # You should have received a copy of the GNU Affero General Public License
  20. # v3 or later along with this program.
  21. # If not, see <http://www.gnu.org/licenses/>.
  22. #
  23. ##############################################################################
  24. from collections import OrderedDict
  25. import openerp.tests.common as common
  26. from ..models import mis_builder
  27. DB = common.DB
  28. ADMIN_USER_ID = common.ADMIN_USER_ID
  29. class test_mis_builder(common.TransactionCase):
  30. def setUp(self):
  31. super(test_mis_builder, self).setUp()
  32. def test_datetime_conversion(self):
  33. date_to_convert = '2014-07-05'
  34. date_time_convert = mis_builder._utc_midnight(
  35. date_to_convert, 'Europe/Brussels')
  36. self.assertEqual(date_time_convert, '2014-07-04 22:00:00',
  37. 'The converted date time convert must contains hour')
  38. date_time_convert = mis_builder._utc_midnight(
  39. date_to_convert, 'Europe/Brussels', add_day=1)
  40. self.assertEqual(date_time_convert, '2014-07-05 22:00:00',
  41. 'The converted date time convert must contains hour')
  42. date_time_convert = mis_builder._utc_midnight(
  43. date_to_convert, 'US/Pacific')
  44. self.assertEqual(date_time_convert, '2014-07-05 07:00:00',
  45. 'The converted date time convert must contains hour')
  46. date_time_convert = mis_builder._utc_midnight(
  47. date_to_convert, 'US/Pacific', add_day=1)
  48. self.assertEqual(date_time_convert, '2014-07-06 07:00:00',
  49. 'The converted date time convert must contains hour')
  50. def test_fetch_query(self):
  51. # create a report on a model without company_id field :
  52. # account.analytic.balance
  53. data = self.registry('mis.report.instance').compute(
  54. self.cr, self.uid,
  55. self.ref('mis_builder.mis_report_instance_test'))
  56. self.assertDictContainsSubset(
  57. {'content':
  58. OrderedDict([(
  59. u'total_test',
  60. {'kpi_name': u'total test',
  61. 'default_style': False,
  62. 'cols': [{
  63. 'period_id':
  64. self.ref(
  65. 'mis_builder.mis_report_instance_period_test'),
  66. 'style': None,
  67. 'suffix': False,
  68. 'expr': 'len(test)',
  69. 'val_c': 'total_test = len(test)',
  70. 'val': 0,
  71. 'val_r': u'0\xa0',
  72. 'is_percentage': False,
  73. 'dp': 0,
  74. 'drilldown': False}]
  75. }
  76. )]),
  77. 'header': OrderedDict([('',
  78. {'kpi_name': '',
  79. 'default_style': '',
  80. 'cols': [{'date': '2014-07-31',
  81. 'name': u'today'}]
  82. })])
  83. }, data)