Latihan 2 dari materi Testing Model & Database di Testing — praktek dengan editor kode interaktif, test case otomatis, dan hint terpandu. Langsung jalan di browser.
Sandbox ini menjalankan PHP biasa, tanpa Laravel, jadi tiru pabrik data dan tabelnya sendiri:
- Siapkan tabelnya:
$records = [];
- Buat pabrik data:
$factory = function ($overrides) { return array_merge(["name" => "User", "email" => "[email protected]"], $overrides); };
- Buat
$create = function ($row) use (&$records) { array_push($records, $row); return $row; };, lalu buat dua user lewat keduanya, salah satunya bernama Budi: $create($factory(["name" => "Budi"]));
- Cetak jumlah barisnya dari larik:
echo "factory create: " . count($records) . " records\n";
- Buat
$assertDatabaseHas yang menelusuri $records dengan foreach dan menjawab true kalau kolomnya bernilai itu, lalu cetak assertDatabaseHas(name, Budi): diikuti PASS atau FAIL dari hasilnya.
Yang dinilai: kodenya memuat factory, create, assertDatabaseHas, penambahan baris (array_push(, [] = atau array_merge(), count( atau sizeof(, dan penelusuran (foreach, array_filter, in_array, array_search atau array_column). Keluarannya memuat PASS dan gak boleh ada FAIL.