service = app(CustomerService::class); $this->data = factory(Customer::class,3)->create()->toArray(); } public function create(){ $model = $this->service->create([ "code" => date('Ymd').Str::random(4), "name" => date('Ymd').Str::random(5), "company_name" => date('Ymd').Str::random(6), ]); $this->assertNotNull($model); $this->data[] = $model; $this->assertEquals($model->code,$this->data["model"]["code"]); $this->assertEquals($model->name,$this->data["model"]["name"]); $this->assertEquals($model->company_name,$this->data["model"]["company_name"]); } public function testGetSelection(){ $models = $this->service->getSelection(["id","name","company_name"]); $this->assertGreaterThanOrEqual(1,count($models)); $this->assertArrayHasKey("company_name",$models[0]); } public function testPaginate(){ $models = $this->service->paginate(5); $this->assertGreaterThanOrEqual(1,count($models)); $this->assertLessThanOrEqual(5,count($models)); } public function testFind(){ $model = $this->service->find($this->data["model"]["id"]); $this->assertNotNull($model); } public function testUpdate() { $value = date('YmdH').Str::random(4); $row = $this->service->update(["id"=>$this->data[0]["id"]],[ "name" => $value, ]); $this->data["model"]["name"] = $value; $this->assertEquals($row,1); } public function testDestroy() { $row = $this->service->destroy($this->data[0]["id"]); $this->assertEquals($row,1); $this->assertDeleted("customers", $this->data["model"]); } public function tearDown(): void { parent::tearDown(); $ids = array_column($this->data,'id'); $row = Customer::destroy($ids); $this->assertGreaterThan(0,$row); } }