function it_does_not_flush_object_manager_when_persisting(ManagerRegistry $registry, ObjectManager $objectManager, CompletenessManager $completenessManager, ProductInterface $product) { $registry->getManagerForClass(get_class($product->getWrappedObject()))->willReturn($objectManager); $objectManager->persist($product)->shouldBeCalled(); $objectManager->flush()->shouldNotBeCalled(); $completenessManager->schedule($product)->shouldBeCalled(); $completenessManager->generateMissingForProduct($product)->shouldNotBeCalled(); $this->persist($product, ['recalculate' => false, 'flush' => false, 'schedule' => true]); }