test_device.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. # -*- coding: utf-8 -*-
  2. #!/usr/bin/env python
  3. from common import url_fn, DEVICE_FIXTURE, MY_USER_FIXTURE, json_is_the_same, DisposableModel
  4. import apps.web.device.views as views
  5. def test_registerEquipment(dealer_client, sole_group, device_type, device):
  6. url = url_fn(views.registerEquipment)
  7. from apps.web.device.models import Device
  8. identifier = 'test_unregistered'
  9. disposable_device = DisposableModel(model=Device, logicalCode=identifier, devNo=identifier)
  10. #: normal scenario
  11. with disposable_device:
  12. payload = {
  13. 'logicalCode': identifier,
  14. 'groupId': str(sole_group.id),
  15. 'remarks': 'remark',
  16. 'washConfigs': [
  17. {
  18. "price": 1,
  19. "coins": 1,
  20. "name": "单脱水",
  21. "time": 6
  22. }
  23. ],
  24. 'groupNumber': next( (str(_) for _ in xrange(1, 32) if str(_) != device.groupNumber) ),
  25. 'typeId': str(device_type.id)
  26. }
  27. assert dealer_client.post_json(url, payload).json()['result'] == 1
  28. #: duplicate group number
  29. with disposable_device:
  30. payload = {
  31. 'logicalCode': identifier,
  32. 'groupId': str(sole_group.id),
  33. 'remarks': 'remark',
  34. 'washConfigs': [
  35. {
  36. "price": 1,
  37. "coins": 1,
  38. "name": "单脱水",
  39. "time": 6
  40. }
  41. ],
  42. 'groupNumber': device.groupNumber,
  43. 'typeId': str(device_type.id)
  44. }
  45. response = dealer_client.post_json(url, payload).json()
  46. assert response['result'] == 0 and response['description'] == u'组号已经被选择'
  47. def test_getDevTypeList(dealer_client, manager_client):
  48. from apps.web.device.views import getDevTypeList
  49. url = url_fn(getDevTypeList)
  50. dealer_client.get(url)