<?php declare(strict_types=1); use Doctrine\ORM\EntityManager; use Lubiana\DoctrineUlid\IdGenerator\UlidGenerator; use Symfony\Component\Uid\Factory\UlidFactory; use Symfony\Component\Uid\Ulid; test( 'UlidGenerator constructs without factory and generate Id', function (): void { $ulidGenerator = new UlidGenerator; $em = createMock(EntityManager::class); $id = $ulidGenerator->generateId($em, null); expect($id) ->toBeInstanceOf(Ulid::class); }, ); test( 'UlidGenerator constructs with factory and generate Id', function (): void { $factory = Mockery::mock(UlidFactory::class); $ulid = new Ulid; $factory->shouldReceive('create') ->andReturn($ulid) ->once(); $ulidGenerator = new UlidGenerator($factory); $em = Mockery::mock(EntityManager::class); $id = $ulidGenerator->generateId($em, null); expect($id) ->toBe($ulid); }, );