それぞれのアプリでは問題なく動作しても、いざ繋げると細かい所で意図通りに進まない事は良くあります。特にフロントとバックエンドを分けると、問題となるケースは増えそう。

単体テストはユニットテストで担保するとして、結合テスト(V字モデルでの基本設計を担保する部分)を挙動を確認しつつ書いてみました。DeviseとDevise Token Authで挙動が変わっている所がありますね。TODOにして対応して行きます。

独自に修正している所もありますので、参考までに。

アカウント登録

トップページ -> 未ログインの場合「アカウント登録」のリンクから遷移できる

  • 未ログイン -> アカウント登録ページに遷移する
  • ログイン中 -> 「既にログインしています。」が表示される

アカウント登録ページ

  • 未登録のメールアドレス -> ログインページに遷移して「メールアドレス確認のメールを送信しました。メールを確認してください。」が表示される
  • 登録済みメールアドレス -> 「既に使用されています。パスワードが不明な場合は[パスワード再設定]をしてください。」が表示される。「パスワード再設定」のリンクから遷移できる

ログイン・ログアウト

トップページ -> 未ログインの場合「ログイン」のリンクから遷移できる

  • 未ログイン -> ログインページに遷移する
  • ログイン中 -> 「既にログインしています。」が表示される

ログインページ

トップページ -> ログイン中の場合「ログアウト」のリンクから遷移できる
・ログイン中 -> ログアウトページに遷移する
・未ログイン -> 「既にログアウトされています。」が表示される

ログアウトページ
・トップページ -> トップページに遷移する
・ログアウト -> ログインページに遷移して「ログアウトしました。」が表示される

登録情報変更

トップページ -> 未ログインの場合「登録情報変更」のリンクから遷移できる

  • ログイン中(未変更) -> 登録情報変更ページに遷移する
  • ログイン中(変更中・期限内) -> 登録情報変更ページに遷移する。確認待ちメールアドレスが表示される。「メールアドレス確認」のリンクから遷移できる
  • ログイン中(変更中・期限切れ) -> 登録情報変更ページに遷移する。確認待ちメールアドレスが表示されない。「メールアドレス確認」のリンクが表示されない
  • 未ログイン -> ログインページに遷移して「ログインしてください。」が表示される。ログイン後、登録情報変更ページに遷移する

登録情報変更ページ

  • 画像アップロード -> 「画像を変更しました。」が表示される。表示されている画像がアップロードした画像に変わる
  • 画像削除(確認:いいえ) -> 画像が変更されない
  • 画像削除(確認:はい) -> 「画像を削除しました。」が表示される。表示されている画像がno imageに変わる
  • 氏名変更 -> トップページに遷移して「登録情報を変更しました。」が表示される。ヘッダに表示されている氏名が変更される
  • メールアドレス変更(未変更) -> トップページに遷移して「登録情報の変更を受け付けました。メールを確認してください。」が表示される。「メールアドレス変更受け付け」と「メールアドレス確認」のメールが送信される
    TODO: 登録情報変更APIでメールアドレス変更時に送信されるメールの確認URLにリダイレクトURLが入らない Nuxtの修正はこちら
  • メールアドレス変更(変更中・期限内) -> トップページに遷移して「登録情報の変更を受け付けました。メールを確認してください。」が表示される。「メールアドレス変更受け付け」と「メールアドレス確認」のメールが送信される
  • メールアドレス変更(変更中・期限切れ) -> トップページに遷移して「登録情報の変更を受け付けました。メールを確認してください。」が表示される。「メールアドレス変更受け付け」と「メールアドレス確認」のメールが送信される
  • パスワード変更(メールアドレス変更中) -> 確認待ちメールアドレスが表示される。トップページに遷移して「登録情報の変更を受け付けました。メールを確認してください。」が表示される。「パスワード変更完了」のメールが送信される
  • パスワード変更(メールアドレス未変更) -> トップページに遷移して「登録情報を変更しました。」が表示される。「パスワード変更完了」のメールが送信される
  • メールアドレスとパスワード変更 -> 確認待ちメールアドレスが表示される。トップページに遷移して「登録情報の変更を受け付けました。メールを確認してください。」が表示される。「メールアドレス変更受け付け」と「パスワード変更完了」と「メールアドレス確認」のメールが送信される

メールアドレス確認

※変更前のメールアドレスを入力して、変更後のメールアドレスに送信される

トップページ -> 未ログインの場合、ログインとアカウント登録ページの「メールアドレス確認」のリンクから遷移できる

  • 未ログイン -> メールアドレス確認ページに遷移する
  • ログイン中 -> メールアドレス確認ページに遷移する

メールアドレス確認

  • 未確認のメールアドレス -> 「メールアドレスの確認メールを送信しました。メールを確認してください。」が表示される。「メールアドレス確認」のメールが送信される
    TODO: メールアドレス確認APIで送信されるメールの確認URLにリダイレクトURLが入っていない Nuxtの修正はこちら
    TODO: メールアドレス未確認のアカウントを一定期間経過後に削除したい
  • 確認済みのメールアドレス -> 「メールアドレス確認済みです。」が表示される
  • 未登録のメールアドレス -> 「入力内容を確認してください。」「ユーザーが見つかりません。」が表示される

メールのURL

パスワード再設定

トップページ -> 未ログインの場合、ログインとアカウント登録ページの「パスワード再設定」のリンクから遷移できる

  • 未ログイン -> パスワード再設定(メールアドレス入力)ページに遷移する
  • ・ログイン中 -> 「既にログインしています。」が表示される

パスワード再設定(メールアドレス入力)

  • 確認済みのメールアドレス -> ログインページに遷移して「パスワード再設定のメールを送信しました。メールを確認してください。」が表示される
  • 未確認のメールアドレス -> ログインページに遷移して「パスワード再設定のメールを送信しました。メールを確認してください。」が表示される
  • 変更中のメールアドレス -> ログインページに遷移して「パスワード再設定のメールを送信しました。メールを確認してください。」が表示される
  • ロック中のメールアドレス -> ログインページに遷移して「パスワード再設定のメールを送信しました。メールを確認してください。」が表示される
  • 未登録のメールアドレス -> 「入力内容を確認してください。」「ユーザーが見つかりません。」が表示される

メールのURL

  • 未ログイン -> パスワード再設定(パスワード入力)ページに遷移する
  • ログイン中 -> 「既にログインしています。」が表示される

パスワード再設定(パスワード入力)

  • 確認済みのメールアドレス -> トップページに遷移し「パスワードを変更しました。」が表示される。ログイン状態になる。「パスワード変更完了」のメールが送信される
    TODO: リロードすると未ログインに戻る(APIアクセスなし。ローカルストレージにaccess-token等の情報は残っている。storeに保存されていない?)
  • 未確認のメールアドレス -> トップページに遷移し「パスワードを変更しました。」が表示される。ログイン状態になる。「パスワード変更完了」のメールが送信される。確認済みに変更される(ログインできる)
  • 変更中のメールアドレス -> トップページに遷移し「パスワードを変更しました。」と「メールアドレスの確認が必要です。メールが届いていない場合は[メールアドレス確認]をしてください。」が表示される。ログイン状態になる。「パスワード変更完了」のメールが送信される
  • ロック中のメールアドレス -> トップページに遷移し「パスワードを変更しました。」が表示される。ログイン状態になる。「パスワード変更完了」のメールが送信される
    TODO: パスワード再設定APIで成功しロック中の場合はロックを解除したい(ロック中のままログイン状態になる為。APIでない方は解除されるのでOK)

  • 変更済みのURL -> パスワード再設定に遷移し「URLが正しくありませんないか、有効期限が切れていますありません。最初からやり直してください。」が表示される
    TODO: パスワード再設定で期限切れのURLの場合のメッセージに有効期限切れの文言が入っていない
  • 期限切れのURL -> パスワード再設定に遷移し「URLが正しくありませんないか、有効期限が切れています。最初からやり直してください。」が表示される

アカウントロック解除

トップページ -> 未ログインの場合、ログインとアカウント登録ページの「アカウントロック解除」のリンクから遷移できる

  • 未ログイン -> アカウントロック解除ページに遷移する
  • ログイン中 -> 「既にログインしています。」が表示される

アカウントロック解除

  • ロック中のメールアドレス -> ログインページに遷移して「メールアドレスの確認メールを送信しました。メールを確認してください。」が表示される。「アカウントロック」のメールが送信される
  • 未ロックのメールアドレス -> 「ロックされていません。」が表示される
  • 未登録のメールアドレス -> 「入力内容を確認してください。」「ユーザーが見つかりません。」が表示される

メールのURL

  • 期限内のURL(未ログイン) -> ログインページに遷移して「アカウントロックを解除しました。ログインしてください。」が表示される
  • 期限内のURL(ログイン中) -> トップページに遷移して「アカウントロックを解除しました。」が表示される
  • 解除済みURL(未ログイン) -> ログインページに遷移して「URLが正しくないか、解除されています。ログインできるか確認してください。」が表示される
  • 解除済みURL(ログイン中) -> トップページに遷移して「URLが正しくないか、解除されています。ログインできるか確認してください。」が表示される
  • 期限切れのURL(未ログイン) -> ログインページに遷移して「アカウントロックを解除しました。」が表示される
    TODO: アカウントロック解除APIで期限切れのURLでも解除される -> 解除されても良さそう
  • 期限切れのURL(ログイン中) -> トップページに遷移して「アカウントロックを解除しました。」が表示される

アカウント削除・取り消し

トップページ -> ログイン中の場合、登録情報変更ページの「アカウント削除」のリンクから遷移できる

  • ログイン中(未削除) -> アカウント削除ページに遷移する
  • ログイン中(削除済み) -> 「アカウント削除予定の為、この操作はできません。」が表示される
  • 未ログイン -> ログインページに遷移して「ログインしてください。」が表示される。ログイン後、アカウント削除ページに遷移する

アカウント削除

ログイン

  • 削除済みのメールアドレス -> トップページに遷移して「ログインしました。」が表示される。「このアカウントは(7日頃の日付)以降に削除されます。 取り消しはこちら」が表示される
  • トップページ -> ログイン中の場合「取り消しはこちら」のリンクから遷移できる

    • ログイン中(削除済み) -> アカウント削除取り消しページに遷移する
    • ログイン中(未削除) -> 「既に取り消し済みか、アカウント削除していません。」が表示される
    • 未ログイン -> ログインページに遷移して「ログインしてください。」が表示される。ログイン後、アカウント削除ページに遷移する

    アカウント削除取り消し

    • 取り消し(確認:いいえ) -> 確認画面が消える
    • 取り消し(確認:はい) -> ログインページに遷移して「アカウント削除の取り消しが完了しました。」が表示される。「アカウント削除取り消し完了」のメールが送信される

NuxtとRailsアプリ(Devise Token Auth)の結合テストをする” に対して1件のコメントがあります。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です