Files
tradon/modules/party/tests/scenario_party_erase.rst
2026-03-14 09:42:12 +00:00

64 lines
1.6 KiB
ReStructuredText

====================
Party Erase Scenario
====================
Imports::
>>> from proteus import Model, Wizard
>>> from trytond.tests.tools import activate_modules, assertEqual
Activate modules::
>>> config = activate_modules('party')
Create a party::
>>> Party = Model.get('party.party')
>>> Attachment = Model.get('ir.attachment')
>>> party = Party(name='Pam')
>>> _ = party.identifiers.new(code="Identifier")
>>> _ = party.contact_mechanisms.new(type='other', value="mechanism")
>>> party.save()
>>> address, = party.addresses
>>> address.street = "St sample, 15"
>>> address.city = "City"
>>> address.save()
>>> identifier, = party.identifiers
>>> contact_mechanism, = party.contact_mechanisms
>>> attachment = Attachment()
>>> attachment.resource = party
>>> attachment.name = "Attachment"
>>> attachment.save()
Try erase active party::
>>> erase = Wizard('party.erase', models=[party])
>>> assertEqual(erase.form.party, party)
>>> erase.execute('erase')
Traceback (most recent call last):
...
EraseError: ...
Erase inactive party::
>>> party.active = False
>>> party.save()
>>> erase = Wizard('party.erase', models=[party])
>>> assertEqual(erase.form.party, party)
>>> erase.execute('erase')
Check fields have been erased::
>>> party.name
>>> identifier.reload()
>>> identifier.code
'****'
>>> address.reload()
>>> address.street
>>> address.city
>>> contact_mechanism.reload()
>>> contact_mechanism.value
>>> Attachment.find()
[]