{
  "issueId": "4379",
  "environment": "dev",
  "source": "Redmine #4379 로그인 오류 안내 요청 및 #4379 관련 개발 변경",
  "sourceText": "프리셋 미지정 로그인에서 Unknown internal server error 대신 권한 설정 안내를 표시한다. 관련 개발 변경에서 사용자 생성 시 프리셋 선택 누락을 막는다.",
  "scope": "개발계 전산·비스킷페이: 프리셋 미지정 로그인 안내와 사용자 생성 프리셋 필수 선택",
  "checklist": [
    "[전산] 프리셋 미지정 계정 로그인 시 아이디·비밀번호 제출 직후 권한 설정 안내가 표시되고 2차 인증·기기 등록으로 이동하지 않는지 확인합니다.",
    "[비스킷페이] 프리셋 미지정 계정 로그인 시 동일한 안내가 표시되고 내부 서버 오류·기기 등록 안내로 오인하지 않는지 확인합니다.",
    "[비스킷페이] 브라우저를 새로 열고 다시 로그인해도 동일한 권한 설정 안내가 표시되는지 확인합니다.",
    "[전산] 마스터와 사업장 사용자 생성 화면에서 프리셋을 선택하지 않으면 생성 버튼이 비활성화되는지 확인합니다."
  ],
  "roles": [
    "ADMIN",
    "TA",
    "CO",
    "BO",
    "VE"
  ],
  "routeCandidates": "../../../../qa-results/issues/4379/dev/route-candidates.json",
  "setupSteps": [
    {
      "name": "세 서비스 개발계 반영 확인",
      "kind": "state-verify",
      "role": "ADMIN",
      "application": "admin",
      "targetRoles": [
        "ADMIN",
        "TA",
        "CO",
        "BO",
        "VE"
      ],
      "description": "백엔드·전산·비스킷페이 수정 커밋이 개발계에 배포됐는지 확인한다.",
      "required": true,
      "mutation": "none",
      "evidence": [
        {
          "name": "배포 커밋 또는 기능 응답",
          "description": "각 서비스의 실제 개발계 동작과 배포 기록을 대조한다."
        }
      ]
    },
    {
      "name": "계정 프리셋·기기·2차 인증 상태 확인",
      "kind": "state-verify",
      "role": "ADMIN",
      "application": "admin",
      "targetRoles": [
        "ADMIN",
        "TA",
        "CO",
        "BO",
        "VE"
      ],
      "description": "제공 계정의 프리셋 지정 여부, 기기 등록 상태, 2차 인증 방식을 실환경에서 확인한다.",
      "required": true,
      "mutation": "none"
    }
  ],
  "pages": [
    {
      "name": "전산 로그인",
      "application": "admin",
      "roles": [
        "ADMIN",
        "TA",
        "CO",
        "BO"
      ],
      "authRequired": false,
      "path": "/auth/login",
      "tenantParam": "tenantId",
      "filters": []
    },
    {
      "name": "마스터 계정 관리",
      "application": "admin",
      "roles": [
        "ADMIN"
      ],
      "path": "/admin/member",
      "tenantParam": "tenantId",
      "filters": []
    },
    {
      "name": "사업장 사용자",
      "application": "admin",
      "roles": [
        "TA",
        "CO"
      ],
      "path": "/business/member",
      "tenantParam": "tenantId",
      "filters": []
    },
    {
      "name": "비스킷페이 로그인",
      "application": "store",
      "roles": [
        "CO",
        "BO",
        "VE"
      ],
      "authRequired": false,
      "path": "/sign-in",
      "tenantParam": "tenantId",
      "filters": []
    }
  ],
  "scenario": "user-preset-permission",
  "subjectAccounts": [
    {
      "role": "ADMIN",
      "label": "4379 ADMIN test account",
      "envRole": "QA4379_ADMIN"
    },
    {
      "role": "TA",
      "label": "4379 TA test account",
      "envRole": "QA4379_TA"
    },
    {
      "role": "CO",
      "label": "4379 CO test account",
      "envRole": "QA4379_CO"
    },
    {
      "role": "BO",
      "label": "4379 BO test account",
      "envRole": "QA4379_BO"
    },
    {
      "role": "VE",
      "label": "4379 VE test account",
      "envRole": "QA4379_VE"
    }
  ]
}
