test_account_crud.py 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. from flask_login import current_user
  2. from flexmeasures.ui.views.accounts import get_accounts, get_account
  3. from flexmeasures.ui.tests.utils import mock_account_response
  4. def test_get_accounts_as_nonadmin(client, as_prosumer_user1, requests_mock):
  5. requests_mock.get(
  6. "http://localhost//api/v3_0/accounts",
  7. status_code=200,
  8. json=mock_account_response(multiple=False),
  9. )
  10. assert get_accounts() == [
  11. {
  12. "id": 1,
  13. "name": "test_account",
  14. "account_roles": [{"id": 1, "name": "Prosumer"}],
  15. }
  16. ]
  17. def test_get_accounts_as_admin(client, as_admin, requests_mock):
  18. requests_mock.get(
  19. "http://localhost//api/v3_0/accounts",
  20. status_code=200,
  21. json=mock_account_response(multiple=True),
  22. )
  23. assert get_accounts() == [
  24. {
  25. "id": 1,
  26. "name": "test_account",
  27. "account_roles": [{"id": 1, "name": "Prosumer"}],
  28. },
  29. {"id": 2, "name": "test_account2", "account_roles": []},
  30. ]
  31. def test_get_account_as_admin(client, as_admin, requests_mock):
  32. mock_account = mock_account_response(as_list=False)
  33. requests_mock.get(
  34. "http://localhost//api/v3_0/accounts/1",
  35. status_code=200,
  36. json=mock_account,
  37. )
  38. assert get_account(account_id="1") == {
  39. "id": 1,
  40. "name": "test_account",
  41. "account_roles": [{"id": 1, "name": "Prosumer"}],
  42. }
  43. def test_get_account_as_nonadmin(client, as_prosumer_user1, requests_mock):
  44. mock_account = mock_account_response(as_list=False)
  45. requests_mock.get(
  46. f"http://localhost//api/v3_0/accounts/{current_user.account.id}",
  47. status_code=200,
  48. json=mock_account,
  49. )
  50. assert get_account(account_id=current_user.account.id) == {
  51. "id": current_user.account.id,
  52. "name": "test_account",
  53. "account_roles": [{"id": 1, "name": "Prosumer"}],
  54. }