CommerceGuys\Zone\Model\Zone::removeMember PHP Method

removeMember() public method

public removeMember ( CommerceGuys\Zone\Model\ZoneMemberEntityInterface $member )
$member CommerceGuys\Zone\Model\ZoneMemberEntityInterface
    public function removeMember(ZoneMemberEntityInterface $member)
    {
        if ($this->hasMember($member)) {
            $member->setParentZone(null);
            $this->members->removeElement($member);
        }
        return $this;
    }

Usage Example

Example #1
0
 /**
  * @covers ::__construct
  * @covers ::getMembers
  * @covers ::setMembers
  * @covers ::hasMembers
  * @covers ::addMember
  * @covers ::removeMember
  * @covers ::hasMember
  *
  * @uses \CommerceGuys\Zone\Model\Zone::__construct
  * @uses \CommerceGuys\Zone\Model\ZoneMember::setParentZone
  */
 public function testMembers()
 {
     $firstZoneMember = $this->getMockBuilder('CommerceGuys\\Zone\\Model\\ZoneMember')->getMock();
     $secondZoneMember = $this->getMockBuilder('CommerceGuys\\Zone\\Model\\ZoneMember')->getMock();
     $empty = new ArrayCollection();
     $members = new ArrayCollection([$firstZoneMember, $secondZoneMember]);
     $this->assertEquals(false, $this->zone->hasMembers());
     $this->assertEquals($empty, $this->zone->getMembers());
     $members = new ArrayCollection([$firstZoneMember, $secondZoneMember]);
     $this->zone->setMembers($members);
     $this->assertEquals($members, $this->zone->getMembers());
     $this->assertEquals(true, $this->zone->hasMembers());
     $this->zone->removeMember($secondZoneMember);
     $this->assertEquals(false, $this->zone->hasMember($secondZoneMember));
     $this->assertEquals(true, $this->zone->hasMember($firstZoneMember));
     $this->zone->addMember($secondZoneMember);
     $this->assertEquals($members, $this->zone->getMembers());
 }