getPdo()->exec( " CREATE TABLE SimpleEntity ( stringcol VARCHAR(250), intcol INT ); INSERT INTO SimpleEntity(stringcol, intcol) VALUES ('dings', 1), ('bumms', 2), ('foobar', 3); " ); } #[Group('integration')] public function testSelectsFirstEntry(): void { // Given $findBy = new FindById(); $method = new RepositoryMethod( query: '', returnType: SimpleEntity::class, returnsNullable: true, returnListType: '', name: '', parameters: [], resolutionStrategy: $findBy ); $query = $method->createQuery([1]); // When $result = $query->execute($this->getPdo()); // Then $this->assertEquals( new SimpleEntity(1, 'dings'), $result ); } #[Group('integration')] public function testSelectsThirdEntry(): void { // Given $findBy = new FindById(); $method = new RepositoryMethod( query: '', returnType: SimpleEntity::class, returnsNullable: true, returnListType: '', name: '', parameters: [], resolutionStrategy: $findBy ); $query = $method->createQuery([3]); // When $result = $query->execute($this->getPdo()); // Then $this->assertEquals( new SimpleEntity(3, 'foobar'), $result ); } #[Group('integration')] public function testSelectsNothingMatching(): void { // Given $findBy = new FindById(); $method = new RepositoryMethod( query: '', returnType: SimpleEntity::class, returnsNullable: true, returnListType: '', name: '', parameters: [], resolutionStrategy: $findBy ); $query = $method->createQuery([4]); // When $result = $query->execute($this->getPdo()); // Then $this->assertNull($result); } }