-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Description
StockAlertMail プラグイン テストケース一覧
合計: 18テストケース(3テストクラス)
StockAlertCommandTest(9テスト)
在庫アラートコマンド(eccube:plugin:stock-alert-mail)の動作検証。
| # | メソッド名 | 概要 | 検証内容 |
|---|---|---|---|
| 1 | testCommandSuccessNoAlert |
アラート対象なしで正常終了 | 閾値-1で対象商品なし → exit code 0 |
| 2 | testNoDuplicateSend |
重複送信防止 | 2回実行してもログ数が増えないこと |
| 3 | testMailSentWhenLowStock |
在庫低下時にメール送信 | メール1通送信、件名に「在庫アラート通知」、宛先が BaseInfo.email01 |
| 4 | testNoMailWhenNoLowStock |
在庫十分な場合メール未送信 | 閾値-1で商品作成 → メール0通 |
| 5 | testStockRecoveryResetsLog |
在庫回復でログリセット | 閾値-1に変更後、送信済みログが削除されること |
| 6 | testMailSubjectFormat |
件名フォーマット | [ショップ名] 在庫アラート通知 形式であること |
| 7 | testMailSubjectFallbackWhenEmpty |
空白件名のフォールバック | MailTemplate の件名が空白のみ → デフォルト「在庫アラート通知」に戻ること |
| 8 | testMailBodyFromDefaultTemplate |
デフォルトテンプレートで本文生成 | 本文が null でないこと、「管理者様」「在庫」を含むこと |
PluginManagerTest(8テスト)
プラグインライフサイクル(install / enable / disable / uninstall)の動作検証。
| # | メソッド名 | 概要 | 検証内容 |
|---|---|---|---|
| 1 | testEnable |
enable 時に初期設定作成 | threshold=5 の設定が作成されること |
| 2 | testEnableSkipsIfConfigExists |
既存設定の上書き防止 | threshold=99 の設定がそのまま保持されること |
| 3 | testUninstall |
アンインストールでテーブル削除 | plg_stock_alert_config / plg_stock_alert_log テーブルが削除されること |
| 4 | testInstall |
インストール時にエラーなし | テーブルが存在すること |
| 5 | testDisable |
disable 時に設定保持 | threshold=42 が変更されないこと |
| 6 | testUninstallThenReinstall |
アンインストール → 再インストール | テーブル再作成後に enable 可能、threshold=5 で初期化 |
| 7 | testEnableRestoresMissingTwigTemplate |
Twig ファイル欠損時の自己修復 | DB 行あり・ファイル欠損の半壊状態で enable → ファイル復元 |
StockAlertLogControllerTest(3テスト)
管理画面の送信履歴ページの表示検証。
| # | メソッド名 | 概要 | 検証内容 |
|---|---|---|---|
| 1 | testIndex |
送信履歴ページ表示 | HTTP レスポンスが 200 |
| 2 | testIndexShowsEmptyMessage |
ログなし時の空メッセージ | 「送信履歴はありません」が表示されること |
| 3 | testIndexShowsLogs |
ログあり時の商品名表示 | テーブルに商品名が含まれること |
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels