changeset 9a9275c5e4b8 in modules/stock_supply_day:default
details: 
https://hg.tryton.org/modules/stock_supply_day?cmd=changeset&node=9a9275c5e4b8
description:
        Replace test setuptools command by unittest discover

        issue9215
        review389851002
diffstat:

 setup.py                       |    2 -
 tests/__init__.py              |    8 --
 tests/test_module.py           |  154 +++++++++++++++++++++++++++++++++++++++
 tests/test_stock_supply_day.py |  160 -----------------------------------------
 tox.ini                        |    2 +-
 5 files changed, 155 insertions(+), 171 deletions(-)

diffs (358 lines):

diff -r 1ea984aa3c7d -r 9a9275c5e4b8 setup.py
--- a/setup.py  Sun Apr 10 19:11:40 2022 +0200
+++ b/setup.py  Sat Apr 16 18:30:20 2022 +0200
@@ -141,6 +141,4 @@
     [trytond.modules]
     stock_supply_day = trytond.modules.stock_supply_day
     """,
-    test_suite='tests',
-    test_loader='trytond.test_loader:Loader',
     )
diff -r 1ea984aa3c7d -r 9a9275c5e4b8 tests/__init__.py
--- a/tests/__init__.py Sun Apr 10 19:11:40 2022 +0200
+++ b/tests/__init__.py Sat Apr 16 18:30:20 2022 +0200
@@ -1,10 +1,2 @@
 # This file is part of Tryton.  The COPYRIGHT file at the top level of
 # this repository contains the full copyright notices and license terms.
-
-try:
-    from trytond.modules.stock_supply_day.tests.test_stock_supply_day import \
-        suite  # noqa: E501
-except ImportError:
-    from .test_stock_supply_day import suite
-
-__all__ = ['suite']
diff -r 1ea984aa3c7d -r 9a9275c5e4b8 tests/test_module.py
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test_module.py      Sat Apr 16 18:30:20 2022 +0200
@@ -0,0 +1,154 @@
+# 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
+
+from trytond.modules.account.tests import create_chart
+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 StockSupplyDayTestCase(CompanyTestMixin, ModuleTestCase):
+    'Test StockSupplyDay module'
+    module = 'stock_supply_day'
+
+    def test_compute_supply_date(self):
+        'Test compute_supply_date'
+        dates = [
+            # purchase date, lead time, weekday, supply date
+            (datetime.date(2011, 11, 21), datetime.timedelta(10), 0,
+                datetime.date(2011, 12, 5)),
+            (datetime.date(2011, 11, 21), datetime.timedelta(9), 1,
+                datetime.date(2011, 12, 6)),
+            (datetime.date(2011, 11, 21), datetime.timedelta(8), 2,
+                datetime.date(2011, 11, 30)),
+            (datetime.date(2011, 11, 21), datetime.timedelta(7), 3,
+                datetime.date(2011, 12, 1)),
+            (datetime.date(2011, 11, 21), datetime.timedelta(6), 4,
+                datetime.date(2011, 12, 2)),
+            (datetime.date(2011, 11, 21), datetime.timedelta(5), 5,
+                datetime.date(2011, 11, 26)),
+            (datetime.date(2011, 11, 21), datetime.timedelta(4), 6,
+                datetime.date(2011, 11, 27)),
+            (datetime.date(2011, 12, 22), datetime.timedelta(12), 6,
+                datetime.date(2012, 1, 8)),
+            (datetime.date(2011, 11, 21), datetime.timedelta(10), None,
+                datetime.date(2011, 12, 1)),
+            (datetime.date(2011, 11, 21), None, 0, datetime.date.max),
+            ]
+        # Purchase date is Monday, 2011-11-21, the regular days to deliver is
+        # 10 days, which would be Wednesday 2011-12-01. But with the supplier
+        # weekday 0 (Monday) the forecast supply date is next Monday, the
+        # 2011-12-05.
+
+        @with_transaction()
+        def run(purchase_date, lead_time, weekday, supply_date):
+            product_supplier = self.create_product_supplier_day(
+                lead_time, weekday)
+            date = product_supplier.compute_supply_date(purchase_date)
+            self.assertEqual(date, supply_date)
+        for purchase_date, lead_time, weekday, supply_date in dates:
+            run(purchase_date, lead_time, weekday, supply_date)
+
+    def test_compute_purchase_date(self):
+        'Test compute_purchase_date'
+        dates = [
+            # purchase date, lead time, weekday, supply date
+            (datetime.date(2011, 11, 25), datetime.timedelta(10), 0,
+                datetime.date(2011, 12, 6)),
+            (datetime.date(2011, 11, 27), datetime.timedelta(9), 1,
+                datetime.date(2011, 12, 6)),
+            (datetime.date(2011, 11, 22), datetime.timedelta(8), 2,
+                datetime.date(2011, 12, 6)),
+            (datetime.date(2011, 11, 24), datetime.timedelta(7), 3,
+                datetime.date(2011, 12, 6)),
+            (datetime.date(2011, 11, 26), datetime.timedelta(6), 4,
+                datetime.date(2011, 12, 6)),
+            (datetime.date(2011, 11, 28), datetime.timedelta(5), 5,
+                datetime.date(2011, 12, 6)),
+            (datetime.date(2011, 11, 30), datetime.timedelta(4), 6,
+                datetime.date(2011, 12, 6)),
+            (datetime.date(2011, 12, 27), datetime.timedelta(6), 0,
+                datetime.date(2012, 1, 3)),
+            ]
+        # Supply date max is Tuesday, 2012-01-03, the supplier weekday 0 which
+        # would be Monday 2012-01-02. But with the 6 days of delivery the
+        # forecast purchase date is the 2011-12-27.
+
+        @with_transaction()
+        def run(purchase_date, lead_time, weekday, supply_date):
+            product_supplier = self.create_product_supplier_day(
+                lead_time, weekday)
+            date = product_supplier.compute_purchase_date(supply_date)
+            self.assertEqual(date, purchase_date)
+        for purchase_date, lead_time, weekday, supply_date in dates:
+            run(purchase_date, lead_time, weekday, supply_date)
+
+    def create_product_supplier_day(self, lead_time, weekday):
+        '''
+        Create a Product with a Product Supplier Day
+
+        :param lead_time: minimal timedelta needed to supply
+        :param weekday: supply day of the week (0 - 6)
+        :return: the id of the Product Supplier Day
+        '''
+        pool = Pool()
+        Uom = pool.get('product.uom')
+        UomCategory = pool.get('product.uom.category')
+        Template = pool.get('product.template')
+        Product = pool.get('product.product')
+        Party = pool.get('party.party')
+        Account = pool.get('account.account')
+        ProductSupplier = pool.get('purchase.product_supplier')
+        ProductSupplierDay = pool.get('purchase.product_supplier.day')
+        Day = pool.get('ir.calendar.day')
+
+        uom_category, = UomCategory.create([{'name': 'Test'}])
+        uom, = Uom.create([{
+                    'name': 'Test',
+                    'symbol': 'T',
+                    'category': uom_category.id,
+                    'rate': 1.0,
+                    'factor': 1.0,
+                    }])
+        template, = Template.create([{
+                    'name': 'ProductTest',
+                    'default_uom': uom.id,
+                    }])
+        product, = Product.create([{
+                    'template': template.id,
+                    }])
+        company = create_company()
+        with set_company(company):
+            create_chart(company)
+            receivable, = Account.search([
+                ('type.receivable', '=', True),
+                ('company', '=', company.id),
+                ])
+            payable, = Account.search([
+                ('type.payable', '=', True),
+                ('company', '=', company.id),
+                ])
+            supplier, = Party.create([{
+                        'name': 'supplier',
+                        'account_receivable': receivable.id,
+                        'account_payable': payable.id,
+                        }])
+            product_supplier, = ProductSupplier.create([{
+                        'template': template.id,
+                        'company': company.id,
+                        'party': supplier.id,
+                        'lead_time': lead_time,
+                        }])
+            if weekday is not None:
+                day, = Day.search([('index', '=', weekday)])
+                ProductSupplierDay.create([{
+                            'product_supplier': product_supplier.id,
+                            'day': day.id,
+                            }])
+            return product_supplier
+
+
+del ModuleTestCase
diff -r 1ea984aa3c7d -r 9a9275c5e4b8 tests/test_stock_supply_day.py
--- a/tests/test_stock_supply_day.py    Sun Apr 10 19:11:40 2022 +0200
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,160 +0,0 @@
-# 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
-import unittest
-from decimal import Decimal
-
-import trytond.tests.test_tryton
-from trytond.modules.account.tests import create_chart
-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 StockSupplyDayTestCase(CompanyTestMixin, ModuleTestCase):
-    'Test StockSupplyDay module'
-    module = 'stock_supply_day'
-
-    def test_compute_supply_date(self):
-        'Test compute_supply_date'
-        dates = [
-            # purchase date, lead time, weekday, supply date
-            (datetime.date(2011, 11, 21), datetime.timedelta(10), 0,
-                datetime.date(2011, 12, 5)),
-            (datetime.date(2011, 11, 21), datetime.timedelta(9), 1,
-                datetime.date(2011, 12, 6)),
-            (datetime.date(2011, 11, 21), datetime.timedelta(8), 2,
-                datetime.date(2011, 11, 30)),
-            (datetime.date(2011, 11, 21), datetime.timedelta(7), 3,
-                datetime.date(2011, 12, 1)),
-            (datetime.date(2011, 11, 21), datetime.timedelta(6), 4,
-                datetime.date(2011, 12, 2)),
-            (datetime.date(2011, 11, 21), datetime.timedelta(5), 5,
-                datetime.date(2011, 11, 26)),
-            (datetime.date(2011, 11, 21), datetime.timedelta(4), 6,
-                datetime.date(2011, 11, 27)),
-            (datetime.date(2011, 12, 22), datetime.timedelta(12), 6,
-                datetime.date(2012, 1, 8)),
-            (datetime.date(2011, 11, 21), datetime.timedelta(10), None,
-                datetime.date(2011, 12, 1)),
-            (datetime.date(2011, 11, 21), None, 0, datetime.date.max),
-            ]
-        # Purchase date is Monday, 2011-11-21, the regular days to deliver is
-        # 10 days, which would be Wednesday 2011-12-01. But with the supplier
-        # weekday 0 (Monday) the forecast supply date is next Monday, the
-        # 2011-12-05.
-
-        @with_transaction()
-        def run(purchase_date, lead_time, weekday, supply_date):
-            product_supplier = self.create_product_supplier_day(
-                lead_time, weekday)
-            date = product_supplier.compute_supply_date(purchase_date)
-            self.assertEqual(date, supply_date)
-        for purchase_date, lead_time, weekday, supply_date in dates:
-            run(purchase_date, lead_time, weekday, supply_date)
-
-    def test_compute_purchase_date(self):
-        'Test compute_purchase_date'
-        dates = [
-            # purchase date, lead time, weekday, supply date
-            (datetime.date(2011, 11, 25), datetime.timedelta(10), 0,
-                datetime.date(2011, 12, 6)),
-            (datetime.date(2011, 11, 27), datetime.timedelta(9), 1,
-                datetime.date(2011, 12, 6)),
-            (datetime.date(2011, 11, 22), datetime.timedelta(8), 2,
-                datetime.date(2011, 12, 6)),
-            (datetime.date(2011, 11, 24), datetime.timedelta(7), 3,
-                datetime.date(2011, 12, 6)),
-            (datetime.date(2011, 11, 26), datetime.timedelta(6), 4,
-                datetime.date(2011, 12, 6)),
-            (datetime.date(2011, 11, 28), datetime.timedelta(5), 5,
-                datetime.date(2011, 12, 6)),
-            (datetime.date(2011, 11, 30), datetime.timedelta(4), 6,
-                datetime.date(2011, 12, 6)),
-            (datetime.date(2011, 12, 27), datetime.timedelta(6), 0,
-                datetime.date(2012, 1, 3)),
-            ]
-        # Supply date max is Tuesday, 2012-01-03, the supplier weekday 0 which
-        # would be Monday 2012-01-02. But with the 6 days of delivery the
-        # forecast purchase date is the 2011-12-27.
-
-        @with_transaction()
-        def run(purchase_date, lead_time, weekday, supply_date):
-            product_supplier = self.create_product_supplier_day(
-                lead_time, weekday)
-            date = product_supplier.compute_purchase_date(supply_date)
-            self.assertEqual(date, purchase_date)
-        for purchase_date, lead_time, weekday, supply_date in dates:
-            run(purchase_date, lead_time, weekday, supply_date)
-
-    def create_product_supplier_day(self, lead_time, weekday):
-        '''
-        Create a Product with a Product Supplier Day
-
-        :param lead_time: minimal timedelta needed to supply
-        :param weekday: supply day of the week (0 - 6)
-        :return: the id of the Product Supplier Day
-        '''
-        pool = Pool()
-        Uom = pool.get('product.uom')
-        UomCategory = pool.get('product.uom.category')
-        Template = pool.get('product.template')
-        Product = pool.get('product.product')
-        Party = pool.get('party.party')
-        Account = pool.get('account.account')
-        ProductSupplier = pool.get('purchase.product_supplier')
-        ProductSupplierDay = pool.get('purchase.product_supplier.day')
-        Day = pool.get('ir.calendar.day')
-
-        uom_category, = UomCategory.create([{'name': 'Test'}])
-        uom, = Uom.create([{
-                    'name': 'Test',
-                    'symbol': 'T',
-                    'category': uom_category.id,
-                    'rate': 1.0,
-                    'factor': 1.0,
-                    }])
-        template, = Template.create([{
-                    'name': 'ProductTest',
-                    'default_uom': uom.id,
-                    }])
-        product, = Product.create([{
-                    'template': template.id,
-                    }])
-        company = create_company()
-        with set_company(company):
-            create_chart(company)
-            receivable, = Account.search([
-                ('type.receivable', '=', True),
-                ('company', '=', company.id),
-                ])
-            payable, = Account.search([
-                ('type.payable', '=', True),
-                ('company', '=', company.id),
-                ])
-            supplier, = Party.create([{
-                        'name': 'supplier',
-                        'account_receivable': receivable.id,
-                        'account_payable': payable.id,
-                        }])
-            product_supplier, = ProductSupplier.create([{
-                        'template': template.id,
-                        'company': company.id,
-                        'party': supplier.id,
-                        'lead_time': lead_time,
-                        }])
-            if weekday is not None:
-                day, = Day.search([('index', '=', weekday)])
-                ProductSupplierDay.create([{
-                            'product_supplier': product_supplier.id,
-                            'day': day.id,
-                            }])
-            return product_supplier
-
-
-def suite():
-    suite = trytond.tests.test_tryton.suite()
-    suite.addTests(unittest.TestLoader().loadTestsFromTestCase(
-        StockSupplyDayTestCase))
-    return suite
diff -r 1ea984aa3c7d -r 9a9275c5e4b8 tox.ini
--- a/tox.ini   Sun Apr 10 19:11:40 2022 +0200
+++ b/tox.ini   Sat Apr 16 18:30:20 2022 +0200
@@ -3,7 +3,7 @@
 
 [testenv]
 commands =
-    coverage run --include=.*/stock_supply_day/* setup.py test
+    coverage run --include=.*/stock_supply_day/* -m unittest discover -s tests
     coverage report --include=.*/stock_supply_day/* --omit=*/tests/*
 deps =
     coverage

Reply via email to