/** * Добавление продукта */ public function testAttachProduct() { /** * @var $purchase_model \App\Models\PurchaseModel */ $purchase_model = \App\Models\PurchaseModel::find(self::$purchase_id); $this->assertInstanceOf('\\App\\Models\\PurchaseModel', $purchase_model); $products_count = rand(2, 5); $products_models_arr = \App\BusinessLogic\Models\Product::take($products_count)->get(); //$this->assertEquals(count($products_models_arr), $products_count); $products_appended_ids_arr = []; foreach ($products_models_arr as $product_model) { $product_appended = $purchase_model->appendProduct($product_model); $this->assertTrue($product_appended); $products_appended_ids_arr[] = $product_model->id; } $products_in_purchase_arr = \DB::table($purchase_model->products()->getTable())->where('purchase_id', '=', $purchase_model->id)->get(['product_id']); $this->assertNotEmpty($products_in_purchase_arr); $products_in_purchase_ids_arr = []; foreach ($products_in_purchase_arr as $product_in_purchase_obj) { $products_in_purchase_ids_arr[] = $product_in_purchase_obj->product_id; } foreach ($products_appended_ids_arr as $product_appended_id) { $this->assertContains($product_appended_id, $products_in_purchase_ids_arr); } self::$products_appended_ids_arr = $products_appended_ids_arr; }
/** * Возвращает список продуктов * @return mixed */ public function getProductsList() { return \App\BusinessLogic\Models\Product::take(50)->get(); }