function let(MongoDB $db, MongoCollection $collection, MongoCursor $cursor, Serializer $serializer, Emitter $emitter, Event $event) { $this->beConstructedWith($db, $serializer); $this->shouldHaveType('Knp\\Event\\Store'); $db->selectCollection(Argument::type('string'))->willReturn($collection); $emitter->getId()->willReturn(1); $collection->find(['emitter_id' => '1'])->willReturn($cursor); $serializer->unserialize(Argument::any())->willReturn($event); $serializer->serialize(Argument::type('Knp\\Event\\Event'))->willReturn(); }
public function let(Event $event, Emitter $emitter, Reflection $reflection) { $this->beConstructedWith($reflection); $reflection->resolveClass(Argument::any())->willReturn('A\\Test\\FQCN'); $emitter->getId()->willReturn(1); }
function it_refuses_conflictual_sets($store, $versionTransporter, Event $event, Event $conflictual, Emitter $emitter) { $store->getCurrentVersion(Argument::cetera())->willReturn(3); $versionTransporter->getExpectedVersion(Argument::cetera())->willReturn(1); $this->shouldThrow('Knp\\Event\\Exception\\Concurrency\\Optimistic\\Conflict', 'addSet', [new Event\Set($emitter->getWrappedObject(), [$event->getWrappedObject(), $conflictual->getWrappedObject()])]); }
public function save(Emitter $object) { $events = $object->popEvents(); $this->store->addSet($events); }