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

        issue9215
        review389851002
diffstat:

 setup.py                     |    6 +-
 tests/__init__.py            |    7 -
 tests/test_module.py         |  161 +++++++++++++++++++++++++++++++++++++++++
 tests/test_stock_lot_sled.py |  167 -------------------------------------------
 tox.ini                      |    3 +-
 5 files changed, 166 insertions(+), 178 deletions(-)

diffs (383 lines):

diff -r 76dd7caba975 -r 3720995c6762 setup.py
--- a/setup.py  Sun Apr 10 19:11:40 2022 +0200
+++ b/setup.py  Sat Apr 16 18:30:19 2022 +0200
@@ -136,13 +136,13 @@
     license='GPL-3',
     python_requires='>=3.7',
     install_requires=requires,
+    extras_require={
+        'test': tests_require,
+        },
     dependency_links=dependency_links,
     zip_safe=False,
     entry_points="""
     [trytond.modules]
     stock_lot_sled = trytond.modules.stock_lot_sled
     """,
-    test_suite='tests',
-    test_loader='trytond.test_loader:Loader',
-    tests_require=tests_require,
     )
diff -r 76dd7caba975 -r 3720995c6762 tests/__init__.py
--- a/tests/__init__.py Sun Apr 10 19:11:40 2022 +0200
+++ b/tests/__init__.py Sat Apr 16 18:30:19 2022 +0200
@@ -1,9 +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_lot_sled.tests.test_stock_lot_sled import suite
-except ImportError:
-    from .test_stock_lot_sled import suite
-
-__all__ = ['suite']
diff -r 76dd7caba975 -r 3720995c6762 tests/test_module.py
--- /dev/null   Thu Jan 01 00:00:00 1970 +0000
+++ b/tests/test_module.py      Sat Apr 16 18:30:19 2022 +0200
@@ -0,0 +1,161 @@
+# 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.company.tests import (
+    CompanyTestMixin, create_company, set_company)
+from trytond.pool import Pool
+from trytond.tests.test_tryton import ModuleTestCase, with_transaction
+from trytond.transaction import Transaction
+
+
+class StockLotSLEDTestCase(CompanyTestMixin, ModuleTestCase):
+    'Test Stock Lot SLED module'
+    module = 'stock_lot_sled'
+    longMessage = True
+
+    @with_transaction()
+    def test_sled(self):
+        'Test SLED'
+        pool = Pool()
+        Uom = pool.get('product.uom')
+        Template = pool.get('product.template')
+        Product = pool.get('product.product')
+        Location = pool.get('stock.location')
+        Date = pool.get('ir.date')
+        Move = pool.get('stock.move')
+        Lot = pool.get('stock.lot')
+        Period = pool.get('stock.period')
+        Config = pool.get('stock.configuration')
+
+        u, = Uom.search([('name', '=', 'Unit')])
+        template = Template(
+            name='Test SLED',
+            type='goods',
+            default_uom=u,
+            shelf_life_state='optional',
+            )
+        template.save()
+        product = Product(template=template)
+        product.save()
+
+        supplier, = Location.search([('code', '=', 'SUP')])
+        storage, = Location.search([('code', '=', 'CUS')])
+
+        company = create_company()
+        with set_company(company):
+            today = Date.today()
+
+            lot = Lot(
+                number='Test',
+                product=product,
+                shelf_life_expiration_date=today + datetime.timedelta(days=5),
+                )
+            lot.save()
+
+            move = Move(
+                product=product,
+                uom=u,
+                quantity=5,
+                from_location=supplier,
+                to_location=storage,
+                planned_date=today,
+                company=company,
+                unit_price=0,
+                currency=company.currency,
+                lot=lot,
+                )
+            move.save()
+
+            period = Period(date=today + datetime.timedelta(days=-10),
+                company=company)
+            period.save()
+            Period.close([period])
+
+            config = Config(1)
+
+            empty = {}
+            computed = {(storage.id, product.id): 5}
+            delta = {(storage.id, product.id): -5}
+            for context, result in [
+                    ({'stock_date_end': datetime.date.min}, empty),
+                    ({'stock_date_end': today + datetime.timedelta(days=-1)},
+                        empty),
+                    ({'stock_date_end': today}, empty),
+                    ({'stock_date_end': today, 'forecast': True}, computed),
+                    ({'stock_date_end': today + datetime.timedelta(days=3)},
+                        computed),
+                    ({'stock_date_end': today + datetime.timedelta(days=5)},
+                        computed),
+                    ({'stock_date_end': today + datetime.timedelta(days=6)},
+                        empty),
+                    ({}, empty),
+                    ({'stock_date_start': today, 'stock_date_end': today},
+                        empty),
+                    ({'stock_date_start': today + datetime.timedelta(days=1),
+                      'stock_date_end': today + datetime.timedelta(days=7)},
+                        delta),
+                    ({'stock_date_start': today + datetime.timedelta(days=1),
+                      'stock_date_end': today + datetime.timedelta(days=2)},
+                        empty),
+                    ({'stock_date_start': today + datetime.timedelta(days=1),
+                      'stock_date_end': today + datetime.timedelta(days=5)},
+                        empty),
+                    ({'stock_date_start': today + datetime.timedelta(days=5),
+                      'stock_date_end': today + datetime.timedelta(days=6)},
+                        delta),
+                    ({'stock_date_start': today + datetime.timedelta(days=5),
+                      'stock_date_end': today + datetime.timedelta(days=7)},
+                        delta),
+                    ({'stock_date_start': today + datetime.timedelta(days=6),
+                      'stock_date_end': today + datetime.timedelta(days=7)},
+                        empty),
+                    ({'stock_date_end': datetime.date.max}, empty),
+                    ]:
+                with Transaction().set_context(context=context,
+                        locations=[storage.id]):
+                    quantity = Product.products_by_location(
+                        [storage.id], grouping_filter=([product.id],))
+                    self.assertEqual(quantity, result,
+                        msg='context: %s' % repr(context))
+
+                    quantity = Product.products_by_location(
+                        [storage.id], grouping_filter=([product.id],),
+                        with_childs=True)
+                    self.assertEqual(quantity, result,
+                        msg='context: %s, with childs' % repr(context))
+
+                    quantity = Product.products_by_location(
+                        [storage.id],
+                        grouping=('product.template',),
+                        grouping_filter=([product.template.id],),)
+                    self.assertEqual(quantity, result,
+                        msg='template, context: %s' % repr(context))
+
+                    quantity = Product.products_by_location(
+                        [storage.id],
+                        grouping=('product.template',),
+                        grouping_filter=([product.template.id],),
+                        with_childs=True)
+                    self.assertEqual(quantity, result,
+                        msg='template, context: %s, with_childs' %
+                        repr(context))
+
+            for context, delay, result in [
+                    ({'stock_date_end': datetime.date.min},
+                        datetime.timedelta(days=-1), empty),
+                    ({'stock_date_end': datetime.date.max},
+                        datetime.timedelta(days=1), empty),
+                    ]:
+                config.shelf_life_delay = delay
+                config.save()
+                with Transaction().set_context(context=context,
+                        locations=[storage.id]):
+                    quantity = Product.products_by_location(
+                        [storage.id], grouping_filter=([product.id],))
+                    self.assertEqual(quantity, result,
+                        msg='context: %s; shelf_life_delay: %s' %
+                        (repr(context), delay))
+
+
+del ModuleTestCase
diff -r 76dd7caba975 -r 3720995c6762 tests/test_stock_lot_sled.py
--- a/tests/test_stock_lot_sled.py      Sun Apr 10 19:11:40 2022 +0200
+++ /dev/null   Thu Jan 01 00:00:00 1970 +0000
@@ -1,167 +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
-
-import trytond.tests.test_tryton
-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
-from trytond.transaction import Transaction
-
-
-class StockLotSLEDTestCase(CompanyTestMixin, ModuleTestCase):
-    'Test Stock Lot SLED module'
-    module = 'stock_lot_sled'
-    longMessage = True
-
-    @with_transaction()
-    def test_sled(self):
-        'Test SLED'
-        pool = Pool()
-        Uom = pool.get('product.uom')
-        Template = pool.get('product.template')
-        Product = pool.get('product.product')
-        Location = pool.get('stock.location')
-        Date = pool.get('ir.date')
-        Move = pool.get('stock.move')
-        Lot = pool.get('stock.lot')
-        Period = pool.get('stock.period')
-        Config = pool.get('stock.configuration')
-
-        u, = Uom.search([('name', '=', 'Unit')])
-        template = Template(
-            name='Test SLED',
-            type='goods',
-            default_uom=u,
-            shelf_life_state='optional',
-            )
-        template.save()
-        product = Product(template=template)
-        product.save()
-
-        supplier, = Location.search([('code', '=', 'SUP')])
-        storage, = Location.search([('code', '=', 'CUS')])
-
-        company = create_company()
-        with set_company(company):
-            today = Date.today()
-
-            lot = Lot(
-                number='Test',
-                product=product,
-                shelf_life_expiration_date=today + datetime.timedelta(days=5),
-                )
-            lot.save()
-
-            move = Move(
-                product=product,
-                uom=u,
-                quantity=5,
-                from_location=supplier,
-                to_location=storage,
-                planned_date=today,
-                company=company,
-                unit_price=0,
-                currency=company.currency,
-                lot=lot,
-                )
-            move.save()
-
-            period = Period(date=today + datetime.timedelta(days=-10),
-                company=company)
-            period.save()
-            Period.close([period])
-
-            config = Config(1)
-
-            empty = {}
-            computed = {(storage.id, product.id): 5}
-            delta = {(storage.id, product.id): -5}
-            for context, result in [
-                    ({'stock_date_end': datetime.date.min}, empty),
-                    ({'stock_date_end': today + datetime.timedelta(days=-1)},
-                        empty),
-                    ({'stock_date_end': today}, empty),
-                    ({'stock_date_end': today, 'forecast': True}, computed),
-                    ({'stock_date_end': today + datetime.timedelta(days=3)},
-                        computed),
-                    ({'stock_date_end': today + datetime.timedelta(days=5)},
-                        computed),
-                    ({'stock_date_end': today + datetime.timedelta(days=6)},
-                        empty),
-                    ({}, empty),
-                    ({'stock_date_start': today, 'stock_date_end': today},
-                        empty),
-                    ({'stock_date_start': today + datetime.timedelta(days=1),
-                      'stock_date_end': today + datetime.timedelta(days=7)},
-                        delta),
-                    ({'stock_date_start': today + datetime.timedelta(days=1),
-                      'stock_date_end': today + datetime.timedelta(days=2)},
-                        empty),
-                    ({'stock_date_start': today + datetime.timedelta(days=1),
-                      'stock_date_end': today + datetime.timedelta(days=5)},
-                        empty),
-                    ({'stock_date_start': today + datetime.timedelta(days=5),
-                      'stock_date_end': today + datetime.timedelta(days=6)},
-                        delta),
-                    ({'stock_date_start': today + datetime.timedelta(days=5),
-                      'stock_date_end': today + datetime.timedelta(days=7)},
-                        delta),
-                    ({'stock_date_start': today + datetime.timedelta(days=6),
-                      'stock_date_end': today + datetime.timedelta(days=7)},
-                        empty),
-                    ({'stock_date_end': datetime.date.max}, empty),
-                    ]:
-                with Transaction().set_context(context=context,
-                        locations=[storage.id]):
-                    quantity = Product.products_by_location(
-                        [storage.id], grouping_filter=([product.id],))
-                    self.assertEqual(quantity, result,
-                        msg='context: %s' % repr(context))
-
-                    quantity = Product.products_by_location(
-                        [storage.id], grouping_filter=([product.id],),
-                        with_childs=True)
-                    self.assertEqual(quantity, result,
-                        msg='context: %s, with childs' % repr(context))
-
-                    quantity = Product.products_by_location(
-                        [storage.id],
-                        grouping=('product.template',),
-                        grouping_filter=([product.template.id],),)
-                    self.assertEqual(quantity, result,
-                        msg='template, context: %s' % repr(context))
-
-                    quantity = Product.products_by_location(
-                        [storage.id],
-                        grouping=('product.template',),
-                        grouping_filter=([product.template.id],),
-                        with_childs=True)
-                    self.assertEqual(quantity, result,
-                        msg='template, context: %s, with_childs' %
-                        repr(context))
-
-            for context, delay, result in [
-                    ({'stock_date_end': datetime.date.min},
-                        datetime.timedelta(days=-1), empty),
-                    ({'stock_date_end': datetime.date.max},
-                        datetime.timedelta(days=1), empty),
-                    ]:
-                config.shelf_life_delay = delay
-                config.save()
-                with Transaction().set_context(context=context,
-                        locations=[storage.id]):
-                    quantity = Product.products_by_location(
-                        [storage.id], grouping_filter=([product.id],))
-                    self.assertEqual(quantity, result,
-                        msg='context: %s; shelf_life_delay: %s' %
-                        (repr(context), delay))
-
-
-def suite():
-    suite = trytond.tests.test_tryton.suite()
-    suite.addTests(unittest.TestLoader().loadTestsFromTestCase(
-            StockLotSLEDTestCase))
-    return suite
diff -r 76dd7caba975 -r 3720995c6762 tox.ini
--- a/tox.ini   Sun Apr 10 19:11:40 2022 +0200
+++ b/tox.ini   Sat Apr 16 18:30:19 2022 +0200
@@ -2,8 +2,9 @@
 envlist = {py37,py38,py39,py310}-{sqlite,postgresql}
 
 [testenv]
+extras = test
 commands =
-    coverage run --include=.*/stock_lot_sled/* setup.py test
+    coverage run --include=.*/stock_lot_sled/* -m unittest discover -s tests
     coverage report --include=.*/stock_lot_sled/* --omit=*/tests/*
 deps =
     coverage

Reply via email to