- Playwright + Chromium 브라우저 테스트 환경 세팅 - 테스터 계정 4개 생성 (admin/local/shop/user, pw: test1234!) - seed SQL + Node.js 시더 스크립트 포함 - E2E 테스트 23개 작성 (전체 통과): - auth: 로그인/로그아웃/실패/회원가입 (9개) - admin: 지자체관리자/Super Admin 패널 접근 (10개) - public: 홈/로그인/회원가입/404 (4개) - CLAUDE.md: 테스트 섹션을 Playwright 기반으로 업데이트 - jobs.md: 테스트 작업 완료 기록 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
246 lines
8.0 KiB
JSON
246 lines
8.0 KiB
JSON
{
|
|
"name": "jongryangje",
|
|
"version": "1.0.0",
|
|
"lockfileVersion": 3,
|
|
"requires": true,
|
|
"packages": {
|
|
"": {
|
|
"name": "jongryangje",
|
|
"version": "1.0.0",
|
|
"license": "ISC",
|
|
"devDependencies": {
|
|
"@playwright/test": "^1.58.2",
|
|
"bcryptjs": "^3.0.3",
|
|
"mysql2": "^3.20.0"
|
|
}
|
|
},
|
|
"node_modules/@playwright/test": {
|
|
"version": "1.58.2",
|
|
"resolved": "https://registry.npmjs.org/@playwright/test/-/test-1.58.2.tgz",
|
|
"integrity": "sha512-akea+6bHYBBfA9uQqSYmlJXn61cTa+jbO87xVLCWbTqbWadRVmhxlXATaOjOgcBaWU4ePo0wB41KMFv3o35IXA==",
|
|
"dev": true,
|
|
"license": "Apache-2.0",
|
|
"dependencies": {
|
|
"playwright": "1.58.2"
|
|
},
|
|
"bin": {
|
|
"playwright": "cli.js"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
}
|
|
},
|
|
"node_modules/@types/node": {
|
|
"version": "25.5.0",
|
|
"resolved": "https://registry.npmjs.org/@types/node/-/node-25.5.0.tgz",
|
|
"integrity": "sha512-jp2P3tQMSxWugkCUKLRPVUpGaL5MVFwF8RDuSRztfwgN1wmqJeMSbKlnEtQqU8UrhTmzEmZdu2I6v2dpp7XIxw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"peer": true,
|
|
"dependencies": {
|
|
"undici-types": "~7.18.0"
|
|
}
|
|
},
|
|
"node_modules/aws-ssl-profiles": {
|
|
"version": "1.1.2",
|
|
"resolved": "https://registry.npmjs.org/aws-ssl-profiles/-/aws-ssl-profiles-1.1.2.tgz",
|
|
"integrity": "sha512-NZKeq9AfyQvEeNlN0zSYAaWrmBffJh3IELMZfRpJVWgrpEbtEpnjvzqBPf+mxoI287JohRDoa+/nsfqqiZmF6g==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"node": ">= 6.0.0"
|
|
}
|
|
},
|
|
"node_modules/bcryptjs": {
|
|
"version": "3.0.3",
|
|
"resolved": "https://registry.npmjs.org/bcryptjs/-/bcryptjs-3.0.3.tgz",
|
|
"integrity": "sha512-GlF5wPWnSa/X5LKM1o0wz0suXIINz1iHRLvTS+sLyi7XPbe5ycmYI3DlZqVGZZtDgl4DmasFg7gOB3JYbphV5g==",
|
|
"dev": true,
|
|
"license": "BSD-3-Clause",
|
|
"bin": {
|
|
"bcrypt": "bin/bcrypt"
|
|
}
|
|
},
|
|
"node_modules/denque": {
|
|
"version": "2.1.0",
|
|
"resolved": "https://registry.npmjs.org/denque/-/denque-2.1.0.tgz",
|
|
"integrity": "sha512-HVQE3AAb/pxF8fQAoiqpvg9i3evqug3hoiwakOyZAwJm+6vZehbkYXZ0l4JxS+I3QxM97v5aaRNhj8v5oBhekw==",
|
|
"dev": true,
|
|
"license": "Apache-2.0",
|
|
"engines": {
|
|
"node": ">=0.10"
|
|
}
|
|
},
|
|
"node_modules/fsevents": {
|
|
"version": "2.3.2",
|
|
"resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz",
|
|
"integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==",
|
|
"dev": true,
|
|
"hasInstallScript": true,
|
|
"license": "MIT",
|
|
"optional": true,
|
|
"os": [
|
|
"darwin"
|
|
],
|
|
"engines": {
|
|
"node": "^8.16.0 || ^10.6.0 || >=11.0.0"
|
|
}
|
|
},
|
|
"node_modules/generate-function": {
|
|
"version": "2.3.1",
|
|
"resolved": "https://registry.npmjs.org/generate-function/-/generate-function-2.3.1.tgz",
|
|
"integrity": "sha512-eeB5GfMNeevm/GRYq20ShmsaGcmI81kIX2K9XQx5miC8KdHaC6Jm0qQ8ZNeGOi7wYB8OsdxKs+Y2oVuTFuVwKQ==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"is-property": "^1.0.2"
|
|
}
|
|
},
|
|
"node_modules/iconv-lite": {
|
|
"version": "0.7.2",
|
|
"resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.7.2.tgz",
|
|
"integrity": "sha512-im9DjEDQ55s9fL4EYzOAv0yMqmMBSZp6G0VvFyTMPKWxiSBHUj9NW/qqLmXUwXrrM7AvqSlTCfvqRb0cM8yYqw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"safer-buffer": ">= 2.1.2 < 3.0.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=0.10.0"
|
|
},
|
|
"funding": {
|
|
"type": "opencollective",
|
|
"url": "https://opencollective.com/express"
|
|
}
|
|
},
|
|
"node_modules/is-property": {
|
|
"version": "1.0.2",
|
|
"resolved": "https://registry.npmjs.org/is-property/-/is-property-1.0.2.tgz",
|
|
"integrity": "sha512-Ks/IoX00TtClbGQr4TWXemAnktAQvYB7HzcCxDGqEZU6oCmb2INHuOoKxbtR+HFkmYWBKv/dOZtGRiAjDhj92g==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/long": {
|
|
"version": "5.3.2",
|
|
"resolved": "https://registry.npmjs.org/long/-/long-5.3.2.tgz",
|
|
"integrity": "sha512-mNAgZ1GmyNhD7AuqnTG3/VQ26o760+ZYBPKjPvugO8+nLbYfX6TVpJPseBvopbdY+qpZ/lKUnmEc1LeZYS3QAA==",
|
|
"dev": true,
|
|
"license": "Apache-2.0"
|
|
},
|
|
"node_modules/lru.min": {
|
|
"version": "1.1.4",
|
|
"resolved": "https://registry.npmjs.org/lru.min/-/lru.min-1.1.4.tgz",
|
|
"integrity": "sha512-DqC6n3QQ77zdFpCMASA1a3Jlb64Hv2N2DciFGkO/4L9+q/IpIAuRlKOvCXabtRW6cQf8usbmM6BE/TOPysCdIA==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"bun": ">=1.0.0",
|
|
"deno": ">=1.30.0",
|
|
"node": ">=8.0.0"
|
|
},
|
|
"funding": {
|
|
"type": "github",
|
|
"url": "https://github.com/sponsors/wellwelwel"
|
|
}
|
|
},
|
|
"node_modules/mysql2": {
|
|
"version": "3.20.0",
|
|
"resolved": "https://registry.npmjs.org/mysql2/-/mysql2-3.20.0.tgz",
|
|
"integrity": "sha512-eCLUs7BNbgA6nf/MZXsaBO1SfGs0LtLVrJD3WeWq+jPLDWkSufTD+aGMwykfUVPdZnblaUK1a8G/P63cl9FkKg==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"aws-ssl-profiles": "^1.1.2",
|
|
"denque": "^2.1.0",
|
|
"generate-function": "^2.3.1",
|
|
"iconv-lite": "^0.7.2",
|
|
"long": "^5.3.2",
|
|
"lru.min": "^1.1.4",
|
|
"named-placeholders": "^1.1.6",
|
|
"sql-escaper": "^1.3.3"
|
|
},
|
|
"engines": {
|
|
"node": ">= 8.0"
|
|
},
|
|
"peerDependencies": {
|
|
"@types/node": ">= 8"
|
|
}
|
|
},
|
|
"node_modules/named-placeholders": {
|
|
"version": "1.1.6",
|
|
"resolved": "https://registry.npmjs.org/named-placeholders/-/named-placeholders-1.1.6.tgz",
|
|
"integrity": "sha512-Tz09sEL2EEuv5fFowm419c1+a/jSMiBjI9gHxVLrVdbUkkNUUfjsVYs9pVZu5oCon/kmRh9TfLEObFtkVxmY0w==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"dependencies": {
|
|
"lru.min": "^1.1.0"
|
|
},
|
|
"engines": {
|
|
"node": ">=8.0.0"
|
|
}
|
|
},
|
|
"node_modules/playwright": {
|
|
"version": "1.58.2",
|
|
"resolved": "https://registry.npmjs.org/playwright/-/playwright-1.58.2.tgz",
|
|
"integrity": "sha512-vA30H8Nvkq/cPBnNw4Q8TWz1EJyqgpuinBcHET0YVJVFldr8JDNiU9LaWAE1KqSkRYazuaBhTpB5ZzShOezQ6A==",
|
|
"dev": true,
|
|
"license": "Apache-2.0",
|
|
"dependencies": {
|
|
"playwright-core": "1.58.2"
|
|
},
|
|
"bin": {
|
|
"playwright": "cli.js"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"optionalDependencies": {
|
|
"fsevents": "2.3.2"
|
|
}
|
|
},
|
|
"node_modules/playwright-core": {
|
|
"version": "1.58.2",
|
|
"resolved": "https://registry.npmjs.org/playwright-core/-/playwright-core-1.58.2.tgz",
|
|
"integrity": "sha512-yZkEtftgwS8CsfYo7nm0KE8jsvm6i/PTgVtB8DL726wNf6H2IMsDuxCpJj59KDaxCtSnrWan2AeDqM7JBaultg==",
|
|
"dev": true,
|
|
"license": "Apache-2.0",
|
|
"bin": {
|
|
"playwright-core": "cli.js"
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
}
|
|
},
|
|
"node_modules/safer-buffer": {
|
|
"version": "2.1.2",
|
|
"resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz",
|
|
"integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
},
|
|
"node_modules/sql-escaper": {
|
|
"version": "1.3.3",
|
|
"resolved": "https://registry.npmjs.org/sql-escaper/-/sql-escaper-1.3.3.tgz",
|
|
"integrity": "sha512-BsTCV265VpTp8tm1wyIm1xqQCS+Q9NHx2Sr+WcnUrgLrQ6yiDIvHYJV5gHxsj1lMBy2zm5twLaZao8Jd+S8JJw==",
|
|
"dev": true,
|
|
"license": "MIT",
|
|
"engines": {
|
|
"bun": ">=1.0.0",
|
|
"deno": ">=2.0.0",
|
|
"node": ">=12.0.0"
|
|
},
|
|
"funding": {
|
|
"type": "github",
|
|
"url": "https://github.com/mysqljs/sql-escaper?sponsor=1"
|
|
}
|
|
},
|
|
"node_modules/undici-types": {
|
|
"version": "7.18.2",
|
|
"resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.18.2.tgz",
|
|
"integrity": "sha512-AsuCzffGHJybSaRrmr5eHr81mwJU3kjw6M+uprWvCXiNeN9SOGwQ3Jn8jb8m3Z6izVgknn1R0FTCEAP2QrLY/w==",
|
|
"dev": true,
|
|
"license": "MIT"
|
|
}
|
|
}
|
|
}
|