"""Swagger 模块 10(看板)— 真实联调(真实群 roomId + 绑定小区)""" from __future__ import annotations import uuid import pytest pytestmark = [pytest.mark.integration, pytest.mark.qiwei_live] @pytest.fixture(scope="module") def m10_ctx(api_session, live_guid, live_room_ids): api_session.assert_success( api_session.post( "/rooms/sync", json={"guid": live_guid, "roomIdList": live_room_ids}, ) ) suffix = uuid.uuid4().hex[:8] community = api_session.assert_success( api_session.post( "/communities", json={ "name": f"看板联调小区_{suffix}", "totalHouseholds": 300, "avgPrice": 25000, "deliveryYear": 2019, "storeId": 1, "address": f"看板路{suffix}", }, ), status=201, ) cid = community["id"] api_session.assert_success( api_session.post( "/community-room-bindings", json={"communityId": cid, "roomId": live_room_ids[0], "storeId": 1}, ), status=201, ) ctx = { "community_id": cid, "store_id": 1, "room_id": live_room_ids[0], } yield ctx api_session.assert_success(api_session.delete(f"/communities/{cid}")) def test_m10_overview(api): overview = api.assert_success(api.get("/dashboard/overview")) assert isinstance(overview, dict) def test_m10_community_dashboard(api, m10_ctx): data = api.assert_success( api.get(f"/dashboard/community/{m10_ctx['community_id']}") ) assert isinstance(data, dict) def test_m10_store_dashboard(api, m10_ctx): data = api.assert_success(api.get(f"/dashboard/store/{m10_ctx['store_id']}")) assert isinstance(data, dict) def test_m10_activity_real_room(api, m10_ctx): data = api.assert_success(api.get(f"/dashboard/activity/{m10_ctx['room_id']}")) assert data.get("roomId") == m10_ctx["room_id"] or "roomId" in data def test_m10_activity_ranking(api): ranking = api.assert_success(api.get("/dashboard/activity-ranking")) assert isinstance(ranking, list) def test_m10_weekly_report(api): weekly = api.assert_success(api.get("/dashboard/reports/weekly")) assert isinstance(weekly, dict) def test_m10_monthly_report(api): monthly = api.assert_success(api.get("/dashboard/reports/monthly")) assert isinstance(monthly, dict)