test_10_module_live.py 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586
  1. """Swagger 模块 10(看板)— 真实联调(真实群 roomId + 绑定小区)"""
  2. from __future__ import annotations
  3. import uuid
  4. import pytest
  5. pytestmark = [pytest.mark.integration, pytest.mark.qiwei_live]
  6. @pytest.fixture(scope="module")
  7. def m10_ctx(api_session, live_guid, live_room_ids):
  8. api_session.assert_success(
  9. api_session.post(
  10. "/rooms/sync",
  11. json={"guid": live_guid, "roomIdList": live_room_ids},
  12. )
  13. )
  14. suffix = uuid.uuid4().hex[:8]
  15. community = api_session.assert_success(
  16. api_session.post(
  17. "/communities",
  18. json={
  19. "name": f"看板联调小区_{suffix}",
  20. "totalHouseholds": 300,
  21. "avgPrice": 25000,
  22. "deliveryYear": 2019,
  23. "storeId": 1,
  24. "address": f"看板路{suffix}",
  25. },
  26. ),
  27. status=201,
  28. )
  29. cid = community["id"]
  30. api_session.assert_success(
  31. api_session.post(
  32. "/community-room-bindings",
  33. json={"communityId": cid, "roomId": live_room_ids[0], "storeId": 1},
  34. ),
  35. status=201,
  36. )
  37. ctx = {
  38. "community_id": cid,
  39. "store_id": 1,
  40. "room_id": live_room_ids[0],
  41. }
  42. yield ctx
  43. api_session.assert_success(api_session.delete(f"/communities/{cid}"))
  44. def test_m10_overview(api):
  45. overview = api.assert_success(api.get("/dashboard/overview"))
  46. assert isinstance(overview, dict)
  47. def test_m10_community_dashboard(api, m10_ctx):
  48. data = api.assert_success(
  49. api.get(f"/dashboard/community/{m10_ctx['community_id']}")
  50. )
  51. assert isinstance(data, dict)
  52. def test_m10_store_dashboard(api, m10_ctx):
  53. data = api.assert_success(api.get(f"/dashboard/store/{m10_ctx['store_id']}"))
  54. assert isinstance(data, dict)
  55. def test_m10_activity_real_room(api, m10_ctx):
  56. data = api.assert_success(api.get(f"/dashboard/activity/{m10_ctx['room_id']}"))
  57. assert data.get("roomId") == m10_ctx["room_id"] or "roomId" in data
  58. def test_m10_activity_ranking(api):
  59. ranking = api.assert_success(api.get("/dashboard/activity-ranking"))
  60. assert isinstance(ranking, list)
  61. def test_m10_weekly_report(api):
  62. weekly = api.assert_success(api.get("/dashboard/reports/weekly"))
  63. assert isinstance(weekly, dict)
  64. def test_m10_monthly_report(api):
  65. monthly = api.assert_success(api.get("/dashboard/reports/monthly"))
  66. assert isinstance(monthly, dict)