public function test_can_create_categories() { $result = $this->repository->create(['name' => 'Category 4', 'description' => 'Description 4']); $this->assertInstanceOf(Category::class, $result); $this->assertEquals('Category 4', $result->name); $this->assertEquals('Description 4', $result->description); $result = $this->repository->all(); $this->assertCount(4, $result); $result = Category::find(4); $this->assertEquals('Category 4', $result->name); $this->assertEquals('Description 4', $result->description); }
public function test_can_ignore_criteria_with_apply_criteria() { $this->createCategoryDescription(); $criteria1 = new FindByDescription('Description'); $criteria2 = new OrderDescByName(); $this->repository->addCriteria($criteria1)->addCriteria($criteria2)->ignoreCriteria()->applyCriteria(); $reflectionClass = new \ReflectionClass($this->repository); $reflectionProperty = $reflectionClass->getProperty('model'); $reflectionProperty->setAccessible(true); $result = $reflectionProperty->getValue($this->repository); $this->assertInstanceOf(Category::class, $result); $this->repository->ignoreCriteria(false)->applyCriteria(); $this->assertInstanceOf(CategoryRepository::class, $this->repository); $result = $this->repository->all(); $this->assertCount(3, $result); $this->assertEquals($result[0]->name, 'Category B'); $this->assertEquals($result[1]->name, 'Category B'); $this->assertEquals($result[2]->name, 'Category A'); }