test_super_manager.py 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. # -*- coding: utf-8 -*-
  2. #!/usr/bin/env python
  3. import pytest
  4. from apilib.monetary import RMB
  5. from common import url_fn
  6. def test_setTrafficCardCost(super_manager_client, agent):
  7. from apps.web.superadmin.views import setTrafficCardCost
  8. url = url_fn(setTrafficCardCost)
  9. post = super_manager_client.post_json
  10. assert post(url, data={'ids': [str(agent.id)]}).json()['result'] == 0
  11. change_to = 30
  12. assert post(url, data={'ids': [str(agent.id)], 'cost': change_to}).json()['result'] == 1
  13. assert agent.reload().trafficCardCost == RMB(change_to)
  14. @pytest.mark.parametrize("role_label", ["dealer", "agent", "manager"])
  15. def test_editFeature(role_label, super_manager_client, dealer, agent, manager):
  16. from apps.web.superadmin.views import editAgentFeature
  17. from apps.web.superadmin.views import editDealerFeature
  18. from apps.web.superadmin.views import editManagerFeature
  19. __map = {
  20. 'dealer': (dealer, editDealerFeature),
  21. 'agent': (agent, editAgentFeature),
  22. 'manager': (manager, editManagerFeature)
  23. }
  24. role, view_fn = __map[role_label]
  25. url = url_fn(view_fn)
  26. role.update(set__features=[])
  27. test_feature = 'test_editFeature'
  28. super_manager_client.post_json(url, {'id': str(role.id), 'featureList': [{'key': test_feature, 'value': True}]})
  29. assert test_feature in role.reload().features
  30. role.update(features=[])