feat: add basic support for local customer, product lookups
also convert pending to local (where relevant) when executing batch
This commit is contained in:
parent
ebd22fe6ee
commit
a4ad23c7fa
23 changed files with 3205 additions and 796 deletions
|
@ -32,6 +32,31 @@ class TestOrderRef(WebTestCase):
|
|||
self.assertIn(f'/orders/{order.uuid}', url)
|
||||
|
||||
|
||||
class TestLocalCustomerRef(WebTestCase):
|
||||
|
||||
def test_sort_query(self):
|
||||
typ = mod.LocalCustomerRef(self.request, session=self.session)
|
||||
query = typ.get_query()
|
||||
self.assertIsInstance(query, orm.Query)
|
||||
sorted_query = typ.sort_query(query)
|
||||
self.assertIsInstance(sorted_query, orm.Query)
|
||||
self.assertIsNot(sorted_query, query)
|
||||
|
||||
def test_get_object_url(self):
|
||||
self.pyramid_config.add_route('local_customers.view', '/local/customers/{uuid}')
|
||||
model = self.app.model
|
||||
enum = self.app.enum
|
||||
|
||||
customer = model.LocalCustomer()
|
||||
self.session.add(customer)
|
||||
self.session.commit()
|
||||
|
||||
typ = mod.LocalCustomerRef(self.request, session=self.session)
|
||||
url = typ.get_object_url(customer)
|
||||
self.assertIsNotNone(url)
|
||||
self.assertIn(f'/local/customers/{customer.uuid}', url)
|
||||
|
||||
|
||||
class TestPendingCustomerRef(WebTestCase):
|
||||
|
||||
def test_sort_query(self):
|
||||
|
@ -60,6 +85,31 @@ class TestPendingCustomerRef(WebTestCase):
|
|||
self.assertIn(f'/pending/customers/{customer.uuid}', url)
|
||||
|
||||
|
||||
class TestLocalProductRef(WebTestCase):
|
||||
|
||||
def test_sort_query(self):
|
||||
typ = mod.LocalProductRef(self.request, session=self.session)
|
||||
query = typ.get_query()
|
||||
self.assertIsInstance(query, orm.Query)
|
||||
sorted_query = typ.sort_query(query)
|
||||
self.assertIsInstance(sorted_query, orm.Query)
|
||||
self.assertIsNot(sorted_query, query)
|
||||
|
||||
def test_get_object_url(self):
|
||||
self.pyramid_config.add_route('local_products.view', '/local/products/{uuid}')
|
||||
model = self.app.model
|
||||
enum = self.app.enum
|
||||
|
||||
product = model.LocalProduct()
|
||||
self.session.add(product)
|
||||
self.session.commit()
|
||||
|
||||
typ = mod.LocalProductRef(self.request, session=self.session)
|
||||
url = typ.get_object_url(product)
|
||||
self.assertIsNotNone(url)
|
||||
self.assertIn(f'/local/products/{product.uuid}', url)
|
||||
|
||||
|
||||
class TestPendingProductRef(WebTestCase):
|
||||
|
||||
def test_sort_query(self):
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue