コンテンツにスキップ

総合検証チェックリスト (End-to-End Testing)

全プラグイン(Client, Store, Main)の連携動作を確認するためのテストパターンです。

前提条件

  • Storeサイト: Software License Manager がインストール済み、WooCommerce設定完了。
  • Mainサイト: Store Sync Receiver がインストール済み。
  • Clientサイト: Cross Poster Pro がインストール済み。
  • アカウント: MainとStoreで、同一の username を持つテストユーザーが存在すること。
  • Config: 全サイトの wp-config.php に適切な定数(API URLやSecret Key)が設定されていること。

1. Store -> Main 連携 (バッジ機能)

ケース 1-A: 新規購入 (Active)

  • 操作: Storeサイトで、テストユーザーとして「Cross Poster Pro (Subscription)」を購入(注文完了)する。
  • 期待動作:
    1. Mainサイトの該当ユーザーのメタデータ storesync_license_cross-poster-pro が作成される。
    2. ステータスが active になっている。
    3. Mainサイトのフォーラム投稿欄に [Cross Poster Pro][優先サポート] バッジが表示される。

ケース 1-B: サブスクリプション途中キャンセル (Pending Cancel)

  • 操作: Storeサイトのマイページで、サブスクリプションを「キャンセル」する。
  • 期待動作:
    1. Mainサイトへ通知が飛ぶ。
    2. ステータスは active のまま維持される(有効期限までは使えるため)。
    3. バッジは 消えない(表示され続ける)。

ケース 1-C: 有効期限切れ (Expired)

  • 操作:
    1. Store管理画面から、サブスクリプションのステータスを「期限切れ (Expired)」に手動変更する。
    2. または、MainサイトのDBを直接操作して expires_at を過去の日付に変更する。
  • 期待動作:
    1. バッジが 消える

ケース 1-D: ユーザー設定 (Toggle)

  • 操作: Mainサイトのプロフィール設定で「Show Badges」のチェックを外して保存する。
  • 期待動作:
    1. ライセンスが有効であっても、バッジが 表示されない

2. Client -> Store 連携 (ライセンス認証・更新)

ケース 2-A: ライセンス有効化 (Activation)

  • 操作: Clientサイト (Cross Poster Pro 設定画面) で、Storeから発行されたライセンスキーを入力し保存・有効化する。
  • 期待動作:
    1. 「有効化されました」というメッセージが表示される。
    2. Storeサイトの管理画面 (License Manager) で、そのキーの使用回数 (Activation count) が増えている。
    3. プラグインのPro機能がアンロックされる。

ケース 2-B: 自動アップデート (Update Check)

  • 準備: Store側のプラグインバージョンを、Client側より新しいもの(例: 9.9.9)にし、Zipを配置する。
  • 操作: Clientサイトの「ダッシュボード > 更新」を確認する。
  • 期待動作:
    1. 「Cross Poster Pro」の更新通知が表示される。
    2. 「更新」ボタンを押すと、エラーなくアップデートが完了する。

ケース 2-C: 無効なキーでの挙動

  • 操作: デタラメなキーを入力する、またはStore側でキーを「無効 (Inactive)」にする。
  • 期待動作:
    1. Client側でエラーメッセージが表示される。
    2. Pro機能がロックされる(または警告が出る)。

3. アンインストール (Cleanup)

ケース 3-A: プラグイン削除

  • 操作: ClientサイトおよびMainサイトで、各プラグインを「削除」する。
  • 期待動作:
    1. wp_optionswp_usermeta から、プラグイン固有のデータ (crp_pro_settings, storesync_license_* 等) がきれいに消えていること。

デバッグ時のヒント (Logs)

問題が発生した場合は、以下のログを確認してください。

  1. Storeサイト: /wp-content/debug.log
    • キーワード: SLM Sync Error, License Manager
  2. Webサーバーのアクセスログ
    • StoreからMainへの POST /wp-json/store-sync/... へのアクセスが 200 OK になっているか確認。