function it_saves_associations($registry, AssociationInterface $association1, AssociationInterface $association2, ProductInterface $product1, ProductInterface $product2, GroupInterface $group1, GroupInterface $group2, ObjectManager $manager) { $registry->getManagerForClass(Argument::any())->willReturn($manager); $registry->getManagers()->willReturn([$manager]); $association1->getProducts()->willReturn([$product1, $product2]); $association1->getGroups()->willReturn([$group1, $group2]); $association1->getId()->willReturn(2); $association2->getProducts()->willReturn([$product1, $product2]); $association2->getGroups()->willReturn([$group1, $group2]); $association2->getId()->willReturn(null); $manager->persist($association1)->shouldBeCalled(); $manager->persist($association2)->shouldBeCalled(); $manager->flush()->shouldBeCalled(); $this->write([$association1, $association2]); }