Fix inventory not nesting devices
This commit is contained in:
parent
c1a3b23d8b
commit
6f3ea001fe
|
@ -1,4 +1,4 @@
|
|||
from distutils.version import StrictVersion
|
||||
|
||||
__version__ = '0.2.0a10'
|
||||
__version__ = '0.2.0a11'
|
||||
version = StrictVersion(__version__)
|
||||
|
|
|
@ -96,7 +96,7 @@ class InventoryView(View):
|
|||
.order_by(*args['sort']) \
|
||||
.paginate(page=args['page'], per_page=30) # type: Pagination
|
||||
inventory = {
|
||||
'devices': app.resources[Device.t].schema.dump(devices.items, many=True),
|
||||
'devices': app.resources[Device.t].schema.dump(devices.items, many=True, nested=1),
|
||||
'groups': [],
|
||||
'widgets': {},
|
||||
'pagination': {
|
||||
|
|
2
setup.py
2
setup.py
|
@ -67,7 +67,7 @@ setup(
|
|||
'Environment :: Web Environment',
|
||||
'Framework :: Flask',
|
||||
'Intended Audience :: Developers',
|
||||
'License :: OSI Approved :: GNU Affero General Public License v3'
|
||||
'License :: OSI Approved :: GNU Affero General Public License v3',
|
||||
'Operating System :: OS Independent',
|
||||
'Programming Language :: Python :: 3 :: Only',
|
||||
'Programming Language :: Python :: 3.5',
|
||||
|
|
|
@ -5,8 +5,10 @@ from ereuse_devicehub.db import db
|
|||
from ereuse_devicehub.devicehub import Devicehub
|
||||
from ereuse_devicehub.resources.device.models import Desktop, Device, Laptop, SolidStateDrive
|
||||
from ereuse_devicehub.resources.enums import ComputerChassis
|
||||
from ereuse_devicehub.resources.event.models import Snapshot
|
||||
from ereuse_devicehub.resources.inventory import Filters, Inventory, Sorting
|
||||
from teal.utils import compiled
|
||||
from tests.conftest import file
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('app_context')
|
||||
|
@ -69,7 +71,7 @@ def inventory_query_dummy(app: Devicehub):
|
|||
db.session.commit()
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('inventory_query_dummy')
|
||||
@pytest.mark.usefixtures(inventory_query_dummy.__name__)
|
||||
def test_inventory_query_no_filters(user: UserClient):
|
||||
i, _ = user.get(res=Inventory)
|
||||
assert tuple(d['type'] for d in i['devices']) == (
|
||||
|
@ -77,16 +79,26 @@ def test_inventory_query_no_filters(user: UserClient):
|
|||
)
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('inventory_query_dummy')
|
||||
@pytest.mark.usefixtures(inventory_query_dummy.__name__)
|
||||
def test_inventory_query_filter_type(user: UserClient):
|
||||
i, _ = user.get(res=Inventory, query=[('filter', {'type': ['Desktop', 'Laptop']})])
|
||||
assert tuple(d['type'] for d in i['devices']) == ('Desktop', 'Laptop', 'Desktop')
|
||||
|
||||
|
||||
@pytest.mark.usefixtures('inventory_query_dummy')
|
||||
@pytest.mark.usefixtures(inventory_query_dummy.__name__)
|
||||
def test_inventory_query_filter_sort(user: UserClient):
|
||||
i, _ = user.get(res=Inventory, query=[
|
||||
('sort', {'created': Sorting.ASCENDING}),
|
||||
('filter', {'type': ['Computer']})
|
||||
])
|
||||
assert tuple(d['type'] for d in i['devices']) == ('Desktop', 'Laptop', 'Desktop')
|
||||
|
||||
|
||||
def test_inventory_query(user: UserClient):
|
||||
"""Checks result of inventory."""
|
||||
user.post(file('basic.snapshot'), res=Snapshot)
|
||||
i, _ = user.get(res=Inventory)
|
||||
pc = next(d for d in i['devices'] if d['type'] == 'Desktop')
|
||||
assert len(pc['events']) == 4
|
||||
assert len(pc['components']) == 3
|
||||
assert not pc['tags']
|
||||
|
|
Reference in a new issue