OwnerFeeDetailServiceTest.php 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <?php
  2. namespace Tests\Services;
  3. use App\OwnerFeeDetail;
  4. use App\Services\OwnerFeeDetailService;
  5. use Illuminate\Database\Eloquent\Collection;
  6. use Illuminate\Support\Facades\DB;
  7. use Tests\TestCase;
  8. class OwnerFeeDetailServiceTest extends TestCase
  9. {
  10. /** @var OwnerFeeDetailService */
  11. public $service;
  12. /** @var Collection */
  13. public $data;
  14. protected function setUp(): void
  15. {
  16. parent::setUp();
  17. $this->service = app(OwnerFeeDetailService::class);
  18. $this->data = factory(OwnerFeeDetail::class,3)->create();
  19. }
  20. public function testPaginate()
  21. {
  22. $models = $this->service->paginate(array("paginate"=>5));
  23. $this->assertGreaterThanOrEqual(3,count($models));
  24. $this->assertLessThanOrEqual(5,count($models));
  25. }
  26. public function testGetSql()
  27. {
  28. $ids = implode(",",array_column($this->data->toArray(),"id"));
  29. $sql = $this->service->getSql(["id"=>$ids]);
  30. $models = DB::select(DB::raw($sql));
  31. $this->assertCount(3,$models);
  32. }
  33. public function testTruncate(){
  34. OwnerFeeDetail::query()->truncate();
  35. $models = OwnerFeeDetail::query()->get();
  36. $this->assertCount(0,$models);
  37. }
  38. }