/**
  * @depends testChangeStatusAffectsLifetime
  *
  * @param Opportunity $opportunity
  *
  * @return Opportunity
  */
 public function testCustomerChangeShouldUpdateBothCustomersIfValuable(Opportunity $opportunity)
 {
     $em = $this->getEntityManager();
     $b2bCustomer = $opportunity->getCustomer();
     $this->assertEquals(100, $b2bCustomer->getLifetime());
     $newCustomer = new B2bCustomer();
     $newCustomer->setName(uniqid('name'));
     $newCustomer->setDataChannel($opportunity->getDataChannel());
     $em->persist($newCustomer);
     $em->flush();
     $this->assertEquals(0, $newCustomer->getLifetime());
     $opportunity->setCustomer($newCustomer);
     $em->persist($opportunity);
     $em->flush();
     $em->refresh($b2bCustomer);
     $em->refresh($newCustomer);
     $this->assertEquals(0, $b2bCustomer->getLifetime());
     $this->assertEquals(100, $newCustomer->getLifetime());
     return $opportunity;
 }