cashbook/tests/test_config.py
Frederik Jaeckel d57d76ba3b book, line, category, types: berechtigung für company-user + test,
book: währung neu,
line: buchungstyp, betrag, credit, debit, währung, sortierung
2022-08-10 16:30:08 +02:00

116 lines
3.8 KiB
Python

# -*- coding: utf-8 -*-
# This file is part of the cashbook-module from m-ds for Tryton.
# The COPYRIGHT file at the top level of this repository contains the
# full copyright notices and license terms.
from trytond.tests.test_tryton import ModuleTestCase, with_transaction
from trytond.pool import Pool
from trytond.transaction import Transaction
from trytond.exceptions import UserError
from trytond.modules.company.tests import create_company
from datetime import date
class ConfigTestCase(ModuleTestCase):
'Test config type module'
module = 'cashbook'
def prep_company(self):
""" get/create company
"""
Company = Pool().get('company.company')
company = Company.search([])
if len(company) > 0:
company = company[0]
else :
company = create_company(name='m-ds')
return company
@with_transaction()
def test_config_create(self):
""" create config
"""
Configuration = Pool().get('cashbook.configuration')
cfg1 = Configuration()
cfg1.save()
cfg2 = Configuration.get_singleton()
self.assertEqual(cfg2.date_from, None)
self.assertEqual(cfg2.date_to, None)
self.assertEqual(cfg2.checked, True)
self.assertEqual(cfg2.done, False)
self.assertEqual(cfg2.catnamelong, True)
self.assertEqual(cfg2.cataccno, True)
@with_transaction()
def test_config_create_multi_user(self):
""" create config, multi-user
"""
pool = Pool()
Configuration = pool.get('cashbook.configuration')
ResUser = pool.get('res.user')
ResGroup = pool.get('res.group')
grp_cb, = ResGroup.search([('name', '=', 'Cashbook')])
usr_lst = ResUser.create([{
'login': 'frida',
'name': 'Frida',
'groups': [('add', [grp_cb.id])],
}, {
'login': 'diego',
'name': 'Diego',
'groups': [('add', [grp_cb.id])],
}])
self.assertEqual(len(usr_lst), 2)
self.assertEqual(usr_lst[0].name, 'Frida')
self.assertEqual(usr_lst[1].name, 'Diego')
with Transaction().set_context({
'_check_access': True,
}):
# change to user 'frida'
with Transaction().set_user(usr_lst[0].id):
cfg1 = Configuration()
cfg1.save()
cfg2 = Configuration.get_singleton()
self.assertEqual(cfg2.date_from, None)
self.assertEqual(cfg2.date_to, None)
self.assertEqual(cfg2.checked, True)
self.assertEqual(cfg2.done, False)
cfg2.date_from = date(2022, 4, 1)
cfg2.date_to = date(2022, 5, 30)
cfg2.checked = False
cfg2.save()
# change to user 'diego'
with Transaction().set_user(usr_lst[1].id):
cfg1 = Configuration()
cfg1.save()
cfg2 = Configuration.get_singleton()
self.assertEqual(cfg2.date_from, None)
self.assertEqual(cfg2.date_to, None)
self.assertEqual(cfg2.checked, True)
self.assertEqual(cfg2.done, False)
cfg2.date_from = date(2022, 4, 15)
cfg2.date_to = date(2022, 5, 15)
cfg2.save()
# change to user 'frida' - check
with Transaction().set_user(usr_lst[0].id):
cfg1 = Configuration()
cfg1.save()
cfg2 = Configuration.get_singleton()
self.assertEqual(cfg2.date_from, date(2022, 4, 1))
self.assertEqual(cfg2.date_to, date(2022, 5, 30))
self.assertEqual(cfg2.checked, False)
self.assertEqual(cfg2.done, False)
# end ConfigTestCase