# -*- coding: utf-8 -*- #!/usr/bin/env python from common import url_fn, DEVICE_FIXTURE, MY_USER_FIXTURE, json_is_the_same, DisposableModel import apps.web.device.views as views def test_registerEquipment(dealer_client, sole_group, device_type, device): url = url_fn(views.registerEquipment) from apps.web.device.models import Device identifier = 'test_unregistered' disposable_device = DisposableModel(model=Device, logicalCode=identifier, devNo=identifier) #: normal scenario with disposable_device: payload = { 'logicalCode': identifier, 'groupId': str(sole_group.id), 'remarks': 'remark', 'washConfigs': [ { "price": 1, "coins": 1, "name": "单脱水", "time": 6 } ], 'groupNumber': next( (str(_) for _ in xrange(1, 32) if str(_) != device.groupNumber) ), 'typeId': str(device_type.id) } assert dealer_client.post_json(url, payload).json()['result'] == 1 #: duplicate group number with disposable_device: payload = { 'logicalCode': identifier, 'groupId': str(sole_group.id), 'remarks': 'remark', 'washConfigs': [ { "price": 1, "coins": 1, "name": "单脱水", "time": 6 } ], 'groupNumber': device.groupNumber, 'typeId': str(device_type.id) } response = dealer_client.post_json(url, payload).json() assert response['result'] == 0 and response['description'] == u'组号已经被选择' def test_getDevTypeList(dealer_client, manager_client): from apps.web.device.views import getDevTypeList url = url_fn(getDevTypeList) dealer_client.get(url)