Commit 45020470 authored by Łukasz Nowak's avatar Łukasz Nowak

Use invoice to represent negative balance.

parent 63648e83
......@@ -234,6 +234,18 @@ class TestVifibSlapComputerPartitionLock(TestVifibSlapWebServiceMixin):
def stepStartInvoice(self, sequence, **kw):
sequence['invoice'].start()
def stepCheckWebUserBalanceHighAmount(self, sequence, **kw):
person = self.portal.ERP5Site_getAuthenticatedMemberPersonValue(sequence[
'web_user'])
self.assertEqual(-10000.0,
self.portal.portal_simulation.getInventoryAssetPrice(
node_category='account_type/asset/receivable',
simulation_state=['started', 'stopped', 'delivered'],
section_uid=self.portal.restrictedTraverse(
'organisation_module/vifib_internet').getUid(),
mirror_section_uid=person.getUid())
)
def stepCheckWebUserBalanceSmallAmount(self, sequence, **kw):
person = self.portal.ERP5Site_getAuthenticatedMemberPersonValue(sequence[
'web_user'])
......@@ -352,31 +364,26 @@ class TestVifibSlapComputerPartitionLock(TestVifibSlapWebServiceMixin):
sequence_list.addSequenceString(sequence_string)
sequence_list.play(self)
def stepCreateHighBalanceNotPaidPayment(self, sequence, **kw):
def stepCreateHighBalanceInvoiceWebUser(self, sequence, **kw):
person = self.portal.ERP5Site_getAuthenticatedMemberPersonValue(sequence[
'web_user'])
payment_transaction = self.portal.accounting_module.newContent(
source_section='organisation_module/vifib_internet',
destination_section=person.getRelativeUrl(),
resource='currency_module/EUR',
portal_type="Payment Transaction",
start_date=DateTime(),
# XXX More info needed
)
payment_transaction.newContent(
portal_type="Accounting Transaction Line",
quantity=10000,
source='account_module/receivable',
)
payment_transaction.newContent(
portal_type="Accounting Transaction Line",
quantity=-10000,
source='account_module/sales',
)
payment_transaction.confirm()
payment_transaction.start()
# XXX More info needed
payment_transaction.checkConsistency()
invoice = self.portal.accounting_module.newContent(
portal_type='Sale Invoice Transaction',
start_date=DateTime(),
resource='currency_module/EUR',
source_section='organisation_module/vifib_internet',
source='organisation_module/vifib_internet',
destination_section=person.getRelativeUrl(),
destination=person.getRelativeUrl(),
specialise='sale_trade_condition_module/vifib_trade_condition'
)
invoice.newContent(
portal_type='Invoice Line',
resource=self.portal.portal_preferences.getPreferredRegistrationResource(),
quantity=1,
price=10000
)
sequence['invoice'] = invoice
def test_automated_person_high_not_paid_locking(self):
"""Test that a person is automatically locked by an alarm if payment has
......@@ -393,16 +400,7 @@ class TestVifibSlapComputerPartitionLock(TestVifibSlapWebServiceMixin):
CheckPersonUnlockedState \
Tic \
Logout \
\
LoginERP5TypeTestCase \
CreateHighBalanceNotPaidPayment \
Tic \
Logout \
\
TriggerLockPersonAlarm \
Tic \
Logout \
\
' + self.lock_user_string() + '\
LoginWebUser \
CheckPersonLockedState \
Tic \
......@@ -529,13 +527,8 @@ class TestVifibSlapComputerPartitionLock(TestVifibSlapWebServiceMixin):
Tic \
Logout \
' + \
self.create_new_user_instance_sequence_string + '\
LoginERP5TypeTestCase \
CreateHighBalanceNotPaidPayment \
Tic \
\
TriggerLockPersonAlarm \
Tic \
self.create_new_user_instance_sequence_string + \
self.lock_user_string() + '\
CheckInstanceLocked \
\
DeliverPayment \
......@@ -592,9 +585,14 @@ class TestVifibSlapComputerPartitionLock(TestVifibSlapWebServiceMixin):
def lock_user_string(self):
return '\
LoginERP5TypeTestCase \
CreateHighBalanceNotPaidPayment \
CreateHighBalanceInvoiceWebUser \
Tic \
\
PlanInvoice \
Tic \
ConfirmInvoice \
StartInvoice \
Tic \
CheckWebUserBalanceHighAmount \
TriggerLockPersonAlarm \
Tic \
Logout \
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment