write ahead log

ロールフォワード用

Laravel6でページネーションのテストする時に困った事

メモ書き.

ハマった点は

  • assertViewHasにはpaginate()の結果を渡してやる必要がある(これはまぁそうだよね)
  • assertViewHasに渡すデータはwithでeagar loadingしたデータを渡す必要がある

それっぽいコードを書くと、以下ではダメで

// 検索結果が昇順でソートされて表示されるはず
$found_products = Product::where('name', 'search_condition')->orderBy('name')->orderBy('kana')->paginate(20);
$response->assertViewHas('products', $found_products);

以下なら思った通り動いた. (Relationshipのあるテーブルをwithでロードしてやる必要がある)

// 検索結果が昇順でソートされて表示されるはず
$found_products = Product::where('name', 'search_condition')->orderBy('name')->orderBy('kana')->with('customer', 'pic')->paginate(20);
$response->assertViewHas('products', $found_products);

どのタイミングで動的プロパティが追加されるのかよくわからないな.

メッセージ見れば想像つくけど、一応メモっとく.