Files
tryton/modules/web_shop/tests/test_module.py
T

77 lines
2.2 KiB
Python

# This file is part of Tryton. The COPYRIGHT file at the top level of
# this repository contains the full copyright notices and license terms.
import datetime as dt
from trytond.modules.company.tests import (
CompanyTestMixin, create_company, set_company)
from trytond.pool import Pool
from trytond.tests.test_tryton import ModuleTestCase, with_transaction
class WebShopTestCase(CompanyTestMixin, ModuleTestCase):
'Test Web Shop module'
module = 'web_shop'
extras = [
'account_tax_rule_country', 'product_attribute', 'product_image',
'sale_price_list']
@with_transaction()
def test_cancel_abandoned(self):
"Test cancel abandoned sale"
pool = Pool()
WebShop = pool.get('web.shop')
Party = pool.get('party.party')
Sale = pool.get('sale.sale')
guest = Party(name="Guest")
guest.save()
company = create_company()
with set_company(company):
web_shop = WebShop(
name="Test",
guest_party=guest,
sale_draft_abandon_delay=dt.timedelta(),
)
web_shop.save()
sale = web_shop.get_sale()
sale.save()
self.assertEqual(sale.state, 'draft')
Sale.web_cancel_draft_abandoned()
sale = Sale(sale.id)
self.assertEqual(sale.state, 'cancelled')
@with_transaction()
def test_not_cancel_abandoned_no_delay(self):
"Test not cancel abandoned sale without delay"
pool = Pool()
WebShop = pool.get('web.shop')
Party = pool.get('party.party')
Sale = pool.get('sale.sale')
guest = Party(name="Guest")
guest.save()
company = create_company()
with set_company(company):
web_shop = WebShop(
name="Test",
guest_party=guest,
sale_draft_abandon_delay=None,
)
web_shop.save()
sale = web_shop.get_sale()
sale.save()
self.assertEqual(sale.state, 'draft')
Sale.web_cancel_draft_abandoned()
sale = Sale(sale.id)
self.assertEqual(sale.state, 'draft')
del ModuleTestCase