操作
バグ #535
未完了[テンプレート] バックエンド実装+テスト - ユーザー登録API
ステータス:
新規
優先度:
高め
担当者:
-
開始日:
2025-06-11
期日:
進捗率:
0%
予定工数:
説明
概要¶
このチケットは「実装+テスト」セットテンプレートのサンプルです。バックエンド機能の実装と、それに対応する単体テストを含んでいます。
実装要件¶
-
機能仕様
- エンドポイント:
/api/v1/users
- メソッド: POST
- 入力パラメータ:
- username: 文字列(必須)
- email: メールアドレス形式(必須)
- password: 文字列(必須、8文字以上)
- レスポンス:
- 成功時: 201 Created, ユーザーデータ(パスワードなし)
- 失敗時: 400 Bad Request, エラーメッセージ
- エンドポイント:
-
技術的要件
- Express.jsルーターの実装
- 入力バリデーション
- パスワードハッシュ化
- データベース保存
- エラーハンドリング
-
セキュリティ要件
- パスワードはbcryptでハッシュ化
- 入力値のサニタイズ
- レート制限の適用
- トークン検証(認証済みユーザーのみ作成可能)
テスト要件¶
-
単体テスト項目
- 正常系テスト:
- 正しい入力での新規ユーザー作成
- レスポンスの検証(ステータスコード、形式)
- パスワードハッシュ化の確認
- 異常系テスト:
- 不正な入力パラメータ(バリデーションエラー)
- 重複ユーザー名/メールアドレス
- 認証失敗時の動作
- レート制限超過時の動作
- 正常系テスト:
-
テスト技術
- Jest/Mocha使用
- テスト用DBの準備(インメモリまたはDockerコンテナ)
- モック/スタブの活用
- カバレッジ計測(目標: 90%以上)
依存関係¶
- バックエンド基盤構築が完了していること
- データベースマイグレーションが完了していること
- 認証システムが実装されていること
完了条件¶
- 実装コードがコードレビューを通過
- 単体テストが全て成功
- テストカバレッジが目標値を達成
- APIドキュメントが更新されている
親チケット¶
- ユーザー管理システム実装
担当者¶
- 実装担当:
- テスト担当:
- レビュー担当:
注意事項¶
- このチケットは実装とテストを一体で管理します
- 実装完了後、テストを作成し、両方が完了したらクローズします
- テスト先行開発(TDD)も可能です
操作