| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- <?php
- namespace Tests\Unit\Customer;
- use App\Customer;
- use App\Services\CustomerService;
- use Illuminate\Support\Str;
- use Tests\TestCase;
- class CustomerTest extends TestCase
- {
- /** @var CustomerService */
- public $service;
- public $data;
- public static function tearDownAfterClass(): void
- {
- parent::tearDownAfterClass();
- Customer::query()->truncate();
- }
- protected function setUp(): void
- {
- parent::setUp();
- $this->service = app(CustomerService::class);
- $this->data = [
- "model" => [
- "code" => date('Ymd').Str::random(4),
- "name" => date('Ymd').Str::random(5),
- "company_name" => date('Ymd').Str::random(6),
- ]
- ];
- }
- public function create(){
- $model = $this->service->create($this->data["model"]);
- $this->assertNotNull($model);
- $this->data["model"]["id"] = $model->id;
- $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(){
- $this->create();
- $models = $this->service->getSelection(["id","name","company_name"]);
- $this->assertGreaterThanOrEqual(1,count($models));
- $this->assertArrayHasKey("company_name",$models[0]);
- }
- public function testPaginate(){
- $this->create();
- $models = $this->service->paginate(5);
- $this->assertGreaterThanOrEqual(1,count($models));
- $this->assertLessThanOrEqual(5,count($models));
- }
- public function testFind(){
- $this->create();
- $model = $this->service->find($this->data["model"]["id"]);
- $this->assertNotNull($model);
- }
- public function testUpdate()
- {
- $this->create();
- $value = date('YmdH').Str::random(4);
- $row = $this->service->update(["id"=>$this->data["model"]["id"]],[
- "name" => $value,
- ]);
- $this->data["model"]["name"] = $value;
- $this->assertEquals($row,1);
- }
- public function testDestroy()
- {
- $this->create();
- $row = $this->service->destroy($this->data["model"]["id"]);
- $this->assertEquals($row,1);
- $this->assertDeleted("customers", $this->data["model"]);
- }
- }
|