public function test_id_apply_returns_data() { $class = $this->repository->model(); $result = $this->criteria->apply(new $class(), $this->repository)->get()->first(); $this->assertEquals('Category 1', $result->name); $this->assertEquals('Description 1', $result->description); }
public function test_can_find_categories_with_columns() { $result = $this->repository->findBy('name', 'Category 1', ['name']); $this->assertCount(1, $result); $this->assertInstanceOf(Category::class, $result[0]); $this->assertNull($result[0]->description); }
public function test_can_clear_criterias() { $this->createCategoryDescription(); $criteria2 = new FindByName('Category B'); $criteria1 = new OrderDescById(); $this->repository->addCriteria($criteria1)->addCriteria($criteria2)->clearCriteria(); $this->assertInstanceOf(CategoryRepository::class, $this->repository->clearCriteria()); $result = $this->repository->findBy('description', 'Description'); $this->assertCount(3, $result); $reflectionClass = new \ReflectionClass($this->repository); $reflectionProperty = $reflectionClass->getProperty('model'); $reflectionProperty->setAccessible(true); $result = $reflectionProperty->getValue($this->repository); $this->assertInstanceOf(Category::class, $result); }