1. Go to this page and download the library: Download dab-libs/waesel-bundle library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
dab-libs / waesel-bundle example snippets
interface FindPets {
/** @return Pet[] */
public function do(?string $id, ?string $name): array;
}
class FindPets_Fixture implements Fixture {
const PET_1 = 'pet1';
const PET_2 = 'pet2';
public Pet $pet1;
public Pet $pet1_2;
public Pet $pet2;
public function __construct(
private CreatePet $createPet,
) {
}
public function createData(): void {
$this->pet1 = $this->createPet->do(self::PET_1, Pet::CAT);
$this->pet1_2 = $this->createPet->do(self::PET_1, Pet::DOG);
$this->pet2 = $this->createPet->do(self::PET_2, Pet::CAT);
}
}
class FindPets_Test extends DbTestCase {
/** @RequiredForTest) */
private ?FindPets $findPets = null;
/** @RequiredForTest) */
private ?FindPets_Fixture $fixture = null;
public function testFindTwoByName() {
$pets = $this->findPets->do(null, $this->fixture::PET_1);
self::assertTrue(in_array($this->fixture->pet1, $pets));
self::assertTrue(in_array($this->fixture->pet1_2, $pets));
self::assertFalse(in_array($this->fixture->pet2, $pets));
}
public function testFindOneByName() {
$pets = $this->findPets->do(null, $this->fixture::PET_2);
self::assertCount(1, $pets);
self::assertEquals($this->fixture->pet2, $pets[0]);
}
public function testFindOneById() {
$pets = $this->findPets->do($this->fixture->pet1->getId(), null);
self::assertCount(1, $pets);
self::assertEquals($this->fixture->pet1, $pets[0]);
}
}
class NewsletterGeneratorTest extends KernelTestCase {
public function testSomething() {
self::bootKernel();
$container = static::getContainer();
$newsletterGenerator = $container->get(NewsletterGenerator::class);
$newsletter = $newsletterGenerator->generateMonthlyNews(...);
$this->assertEquals('...', $newsletter->getContent());
}
}
class FindPets_Test extends DbTestCase {
/** @RequiredForTest) */
private ?FindPets $findPets = null;
/** @RequiredForTest) */
private ?FindPets_Fixture $fixture = null;
public function testFindTwoByName() {
...
}
...
}