본문으로 건너뛰기

KOGAS 도메인 대시보드 QA 가이드 — 경영 현황 · 안전 관제

이 문서는 KOGAS 도메인 대시보드(경영 현황 / 안전 관제, #1156)를 QA가 화면에서 직접 따라 검증할 수 있도록 단계별 스크린샷과 함께 정리한 것입니다. 모든 화면은 실제 GenD prod 환경의 가스공사(energy-kogas) 워크스페이스에서 캡처했습니다.

개요

KOGAS 대시보드는 도메인 팩입니다 — 핵심(core) 플랫폼에 KOGAS 전용 화면이 박혀 있지 않고, 활성 워크스페이스가 가스공사(energy-kogas)일 때만 사이드바 진입점과 /portal/kogas 라우트가 노출됩니다. 다른 테넌트로 전환하면 이 팩은 완전히 사라집니다(메뉴 숨김 + 라우트 가드).

  • 경영 현황(Executive) — 핵심 KPI 카드 5개 이상 + 핵심 지표 추세 차트.
  • 안전 관제(Safety) — 설비 상태 타일 + (관리자) 활성 경보 목록 + 이상 징후 추세.

읽기 전용: 이 대시보드는 데이터를 조회만 합니다(생성/수정/삭제 없음). QA 중 어떤 리소스도 만들지 않습니다.


사전 준비 (Seed / 멤버십)

이 가이드의 유일한 전제 조건은 워크스페이스 멤버십입니다. 별도의 대시보드 시드 스크립트는 없습니다 — KPI/안전 데이터는 /api/v1/dashboard/kogas/* 가 읽기 전용으로 제공하며 화면에 렌더된 값을 그대로 검증합니다.

  1. 두 워크스페이스 멤버십: QA 계정이 energy-kogas(KOGAS) 그리고 finance-invest(비-KOGAS) 모두의 멤버여야 합니다. W2 데모 시드로 함께 들어옵니다.

    python scripts/seed_w2_workspaces.py
  2. 워크스페이스 전환: 상단 바의 워크스페이스 스위처(현재 워크스페이스 이름 버튼)에서 전환합니다. 두 워크스페이스가 드롭다운에 모두 보여야 합니다.

이 가이드의 스크린샷은 위 멤버십이 갖춰진 prod 데모 환경에서 캡처했습니다. 멤버십이 없으면 E2E 스펙(ui/tests/kogas-dashboards-e2e.spec.ts)은 해당 시나리오를 graceful skip 합니다.


1. KOGAS 워크스페이스 활성화 → 사이드바 진입점

워크스페이스 스위처에서 한국가스공사(energy-kogas) 로 전환하면, 사이드바에 가스공사 대시보드 진입점이 나타납니다(비-KOGAS 워크스페이스에서는 보이지 않습니다).

KOGAS 활성 시 사이드바의 가스공사 대시보드 진입점

확인 포인트(QA): 활성 워크스페이스가 KOGAS일 때만 가스공사 대시보드 메뉴가 보이는지 확인하세요. 도메인 팩이 다른 테넌트로 새지 않는 것이 핵심 수용 기준입니다.

1-1. 페이지 진입

가스공사 대시보드를 클릭하면 /portal/kogas 로 이동합니다. 페이지 제목은 가스공사 대시보드, 상단에 경영 현황 / 안전 관제 두 탭이 있습니다.

가스공사 대시보드 페이지 — 경영 현황/안전 관제 탭

확인 포인트(QA): 제목(가스공사 대시보드)과 두 탭이 보이고, 기본 활성 탭이 경영 현황인지 확인하세요. 두 탭 패널은 모두 마운트 상태로 유지되어(hidden-tab 패턴) 차트 크기가 0으로 붕괴하지 않습니다.


2. 경영 현황 (Executive)

경영 현황 탭은 핵심 KPI 카드와 추세 차트를 보여줍니다.

경영 현황 — KPI 카드 + 미연동 플레이스홀더 + 추세 차트

확인할 항목:

  • KPI 카드 5개 이상실제 숫자로 렌더됩니다.
  • 아직 연동되지 않은 지표는 가짜 0 대신 데이터 연동 대기 / Pending data 플레이스홀더(점선 테두리 · 흐린 이탤릭)로 표시됩니다.
  • 핵심 지표 추세 차트(recharts 라인 차트)가 렌더됩니다.

확인 포인트(QA): "값이 진짜 0"(예: 사고 건수 0)과 "데이터 소스 미연동"이 시각적으로 구분되는지 확인하세요 — 미연동 지표는 반드시 데이터 연동 대기 문구로 표시되어야 하며 0 으로 위장하면 안 됩니다(#1156 수용 기준).


3. 안전 관제 (Safety)

안전 관제 탭을 클릭하면 URL에 ?tab=safety 가 붙고(딥링크/새로고침 안전), 설비 상태 타일 · 이상 징후 추세 · (관리자) 활성 경보 목록이 보입니다.

안전 관제 — 상태 타일 + 경보 + 이상 추세 (?tab=safety)

확인할 항목:

  • 설비 상태 타일 — 정상(초록)/주의(주황)/경보(빨강)/미연동(회색·데이터 연동 대기) 색상 점.
  • 이상 징후 추세 차트(recharts). 데이터가 없으면 추세 플레이스홀더가 대신 표시됩니다.
  • 활성 경보 목록 — 심각도 배지(낮음/중간/높음)와 메시지. 경보 목록은 서버에서 관리자에게만 노출되므로, 비-관리자 또는 활성 경보가 없으면 "활성 경보 없음" 빈 상태가 정상입니다.

확인 포인트(QA): 탭 클릭 후 주소창에 ?tab=safety 가 보이는지, 새로고침해도 안전 관제 탭이 유지되는지 확인하세요.


4. ✅ 엣지: 키보드 탭 이동

탭은 제어형 Radix Tabs 입니다 — 활성 탭은 ?tab= 쿼리로 관리되고, 마우스뿐 아니라 키보드로도 전환됩니다(중복 onClick 제거 후 Radix onValueChange 단일 경로).

탭에 포커스를 둔 뒤 →(ArrowRight) 를 누르면 안전 관제 로 이동하며 ?tab=safety 가 붙고, ←(ArrowLeft)경영 현황 으로 돌아오면 파라미터가 사라집니다(경영 현황이 기본값).

확인 포인트(QA): 마우스 없이 키보드 화살표만으로 탭이 전환되고 URL 파라미터가 동기화되는지 확인하세요(접근성 경로).


5. ✅ 워크스페이스 게이팅 — 비-KOGAS 전환

워크스페이스 스위처에서 비-KOGAS 워크스페이스(예: finance-invest)로 전환하면, 사이드바의 가스공사 대시보드 진입점이 사라집니다.

비-KOGAS 워크스페이스 — 진입점 없음

메뉴만 숨기는 것이 아니라, 주소창에 직접 /portal/kogas 를 입력해도(딥링크/북마크) 라우트 가드(KogasWorkspaceRoute) 가 홈으로 리다이렉트합니다.

/portal/kogas 딥링크 → 홈으로 리다이렉트

확인 포인트(QA): 비-KOGAS 워크스페이스에서 (1) 메뉴 진입점이 없고 (2) /portal/kogas 직접 접근 시 KOGAS 페이지(가스공사 대시보드 제목)가 렌더되지 않고 홈으로 튕겨 나가는지 확인하세요. 멤버십이 비동기로 확정되는 동안에는 잠깐 로딩 스피너만 보이며, 확정 후에만 리다이렉트됩니다(유효한 KOGAS 딥링크를 잘못 튕기지 않기 위함).


QA 체크리스트 요약

#시나리오기대 결과
1KOGAS 워크스페이스 활성사이드바에 가스공사 대시보드 진입점 노출
1-1/portal/kogas 진입제목 가스공사 대시보드 + 경영/안전 탭
2경영 현황 탭KPI 카드 ≥5(실값), 미연동 KPI = 데이터 연동 대기(0 아님), 추세 차트
3안전 관제 탭상태 타일 + 경보/빈상태 + 이상 추세, URL ?tab=safety
4키보드 탭 이동←/→ 로 활성 탭 + ?tab= 동기화
5비-KOGAS 전환진입점 소거 + /portal/kogas 딥링크 홈 리다이렉트

알아두기

  • 읽기 전용 도메인 팩: KPI/안전 데이터는 /api/v1/dashboard/kogas/* 에서 조회만 하며, 서버 측 활성 워크스페이스 멤버십 미들웨어가 실제 데이터 격리를 강제합니다. UI 게이트는 메뉴/라우트 가시성 용도입니다.
  • 미연동 ≠ 0: available=false 지표는 항상 데이터 연동 대기 / Pending data 로 표시됩니다(가짜 0 금지). 값-단위의 전수 구분 매트릭스는 단위 테스트(ExecutiveDashboard.test.tsx)로도 검증됩니다.
  • 경보는 관리자 전용: 안전 경보 목록은 관리자에게만 노출됩니다 — 비-관리자/무경보 환경의 "활성 경보 없음" 빈 상태는 정상입니다.
  • 자동화 스펙: 위 시나리오는 ui/tests/kogas-dashboards-e2e.spec.ts 로 자동화돼 있으며, QA_CAPTURE=1 로 실행하면 이 가이드의 스크린샷(/img/qa/kogas-dashboards/NN-*.png)을 그대로 생성합니다.