first commit
This commit is contained in:
57
modules/sale/tests/scenario_sale_quotation.rst
Normal file
57
modules/sale/tests/scenario_sale_quotation.rst
Normal file
@@ -0,0 +1,57 @@
|
||||
=======================
|
||||
Sale Quotation Scenario
|
||||
=======================
|
||||
|
||||
Imports::
|
||||
|
||||
>>> import datetime as dt
|
||||
|
||||
>>> from proteus import Model
|
||||
>>> from trytond.modules.account.tests.tools import create_chart
|
||||
>>> from trytond.modules.company.tests.tools import create_company
|
||||
>>> from trytond.tests.tools import activate_modules, assertEqual
|
||||
|
||||
>>> today = dt.date.today()
|
||||
|
||||
Activate modules::
|
||||
|
||||
>>> config = activate_modules('sale', create_company, create_chart)
|
||||
|
||||
>>> Cron = Model.get('ir.cron')
|
||||
>>> Sale = Model.get('sale.sale')
|
||||
>>> SaleConfiguration = Model.get('sale.configuration')
|
||||
>>> Party = Model.get('party.party')
|
||||
|
||||
Set quotation validity to 1 week::
|
||||
|
||||
>>> sale_configuration = SaleConfiguration(1)
|
||||
>>> sale_configuration.sale_quotation_validity = dt.timedelta(weeks=1)
|
||||
>>> sale_configuration.save()
|
||||
|
||||
Create customer::
|
||||
|
||||
>>> customer = Party(name="Customer")
|
||||
>>> customer.save()
|
||||
|
||||
Create a quotation::
|
||||
|
||||
>>> sale = Sale(party=customer)
|
||||
>>> sale.click('quote')
|
||||
>>> sale.state
|
||||
'quotation'
|
||||
>>> assertEqual(sale.quotation_date, today)
|
||||
>>> assertEqual(sale.quotation_validity, dt.timedelta(weeks=1))
|
||||
>>> assertEqual(sale.quotation_expire, today + dt.timedelta(weeks=1))
|
||||
|
||||
Expire quotation::
|
||||
|
||||
>>> sale.quotation_date = today - dt.timedelta(weeks=2)
|
||||
>>> sale.save()
|
||||
|
||||
>>> cron, = Cron.find(
|
||||
... [('method', '=', 'sale.sale|cancel_expired_quotation')], limit=1)
|
||||
>>> cron.click('run_once')
|
||||
|
||||
>>> sale.reload()
|
||||
>>> sale.state
|
||||
'cancelled'
|
||||
Reference in New Issue
Block a user