Skip to content

管理者機能テストにおけるプロジェクト制限数機能のテスト追加#43

Open
lieunguyen-tma wants to merge 7 commits into
RCOSDP:mainfrom
lieunguyen-tma:feature/project-limit-number
Open

管理者機能テストにおけるプロジェクト制限数機能のテスト追加#43
lieunguyen-tma wants to merge 7 commits into
RCOSDP:mainfrom
lieunguyen-tma:feature/project-limit-number

Conversation

@lieunguyen-tma

Copy link
Copy Markdown
Contributor

Purpose

管理者機能の「プロジェクト制限数」関連のテスト用Notebookを追加しました。

Changes

新規追加

  • テスト手順-管理者機能-プロジェクト制限数-テンプレート作成・変更・削除.ipynb

    • プロジェクト作成数設定テンプレートの作成・変更・削除に関するテストNotebook
    • 主なテスト内容:
      • RDMの既存ユーザーでログイン
        • アカウント設定からプライマリメールを取得して結果ファイルへ保存
      • RDMの管理者でログイン
        • テンプレート作成画面での入力行追加/削除、属性・値・値設定方法の入力検証
        • 複数テンプレート(template1/2/3)の作成・編集・一覧表示の確認
        • 使用可否トグルや保存/クリア操作の動作検証
  • テスト手順-管理者機能-プロジェクト制限数-テンプレート削除.ipynb

    • プロジェクト作成数設定テンプレートの削除に関するテストNotebook
    • 主なテスト内容:
      • RDMの既存ユーザーでログイン
        • アカウント設定からプライマリメールを取得して結果ファイルへ保存
      • RDMの管理者でログイン
        • 削除ボタンの有効化と無効化の確認
  • テスト手順-管理者機能-プロジェクト制限数-ルール作成・変更・削除.ipynb

    • プロジェクト作成数設定(ルール)の作成・編集・削除に関するテストNotebook
    • 主なテスト内容:
      • 管理者でログイン
        • 「プロジェクト制限のデフォルト」を 0 に設定
        • 新規ルール作成(設定名/ルール名称/メモ/値/プロジェクト制限数)と保存後の一覧表示確認
        • ルール編集・削除、ユーザー一覧への反映確認
        • 使用可否トグル・優先順位変更・保存/クリアの動作検証
        • テンプレート実行で保存されたプライマリメールを読み取り、ルール値として利用する処理を含む
  • テスト手順-管理者機能-プロジェクト制限数-ルール作成・変更・削除(切り戻し①).ipynb

    • ルール作成テストで変更した設定を切り戻すためのNotebook
    • 主なテスト内容:
      • RDMの管理者でログイン
        • 「プロジェクト制限のデフォルト」を 5 に設定
        • 設定一覧の特定行(例: setting1, setting4)の「使用可否」トグルを操作し、使用可否/優先順位の保存 を押下して変更を確定
        • 使用可否/優先順位のクリア の動作や優先順位の反映を検証
  • テスト手順-管理者機能-プロジェクト制限数-ルール作成・変更・削除(切り戻し②).ipynb

    • デフォルト値を「無制限」に戻すためのNotebook
    • 主なテスト内容:
      • RDMの管理者でログイン
        • 「プロジェクト制限のデフォルト」を 無制限 に設定
  • テスト手順-管理者機能-プロジェクト制限数-NIIストレージ (プロジェクト作成).ipynb

    • NIIストレージ(デフォルトストレージ)環境でのプロジェクト作成に関するテストNotebook
    • 主なテスト内容:
      • RDMの既存ユーザー1でログイン
        • 既存ユーザーでプロジェクトを作成して制限値に到達させるシナリオ
        • 制限到達時にダッシュボードの「新規プロジェクト作成」ボタンが無効化されることの確認
        • テストで作成したプロジェクトの削除と、削除後のボタン有効化確認
      • RDMの既存ユーザー2でログイン
        • 制限到達時にダッシュボードの「新規プロジェクト作成」ボタンが無効化されることの確認
  • テスト手順-管理者機能-プロジェクト制限数-NIIストレージ (プロジェクト作成)(切り戻し①).ipynb

    • NIIストレージ(デフォルトストレージ)にて既存ユーザーを用いて複数のテストプロジェクトを作成し、ユーザー単位での制限到達時の挙動を検証するNotebook。
    • 主な手順:
      • RDMの既存ユーザー1とユーザー2でログイン
        • 複数プロジェクトを作成し、各作成後にプロジェクト一覧への反映を確認
        • ダッシュボードをリロードして 新規プロジェクト作成 ボタンが無効化されることを検証(制限到達の確認)
  • テスト手順-管理者機能-プロジェクト制限数-NIIストレージ (プロジェクト作成)(切り戻し②).ipynb

    • NIIストレージ(デフォルトストレージ)にて既存ユーザーを用いて複数のテストプロジェクトを作成し、新規プロジェクト作成 ボタンが引き続き有効であることを確認するのNotebook。
    • 主な手順:
      • RDMの既存ユーザー1とユーザー2でログイン
        • 複数プロジェクトを作成し、各作成後にプロジェクト一覧への反映を確認
        • ダッシュボードをリロードしてボタンが有効のままであることを検証
  • テスト手順-管理者機能-プロジェクト制限数-クリーンアップ処理.ipynb

    • 設定・テンプレート・プロジェクトを一括で削除するクリーンアップ用Notebook
    • 主なテスト内容:
      • 既存ユーザーでダッシュボード上のプロジェクトをすべて削除する処理
      • 管理者で「設定」「テンプレート」をすべて削除する処理
  • 取りまとめ-管理者機能-プロジェクト制限数.ipynb

    • 上記の個別Notebookを統合実行するためのNotebook

既存ファイルの更新

  • 結合試験-実行.ipynb

    • 変更点:
      • 統合管理者アカウントの入力セルを追加
      • 取りまとめ-管理者機能-プロジェクト制限数.ipynb 呼び出し時に上記パラメータを伝播するよう更新
  • .github/scripts/setup_test_data.py

    • 変更点:
      • プロジェクト制限数テスト専用ユーザー(testuser4@example.comtestuser5@example.com)を追加
        • 両ユーザーとも skip_project: True を設定し、テスト初期状態でプロジェクトを持たない構成とする
      • ユーザー作成・既存ユーザー処理のロジックに skip_project フラグによる分岐を追加
  • .github/workflows/e2e-test.yml

    • 変更点:
      • プロジェクト制限数テスト専用ユーザーの CI パラメータを追加
        • idp_name_project_limit_1/2idp_username_project_limit_1/2idp_password_project_limit_1/2institution_name_project_limit_1
  • run_tests.py

    • 変更点:
      • プロジェクト制限数テスト専用ユーザーのインスタンス変数を追加(idp_name_project_limit_1/2idp_username_project_limit_1/2idp_password_project_limit_1/2institution_name_project_limit_1
      • run_project_limit_tests() メソッドを追加し、取りまとめ-管理者機能-プロジェクト制限数.ipynb を呼び出す処理を実装
      • メインのテスト実行フローに run_project_limit_tests() を組み込み

Ticket

#57678

Custom Test Configuration

  • RDM_REPOSITORY: RCOSDP/RDM-osf.io
  • RDM_BRANCH: develop
  • OSF_IMAGE:
  • EMBER_IMAGE:
  • CAS_IMAGE:
  • MFR_IMAGE:
  • WB_IMAGE:
  • EXCLUDE_NOTEBOOKS:

- Update idp_name_1 to institution_name_1 for institution selection
- Update incorrect markdown and code comments
- Update stdout output from primary_email to primary_email_path
- Replace time.sleep(1) with expect(...).to_be_visible(...)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant