mirror of
https://gitlab.com/Chill-Projet/chill-bundles.git
synced 2025-08-21 07:03:49 +00:00
fixed: do not show same person twice if persons are members simultaneously
This commit is contained in:
@@ -135,4 +135,51 @@ final class HouseholdTest extends TestCase
|
||||
$this->assertEquals(new DateTimeImmutable('2021-12-31'), $second->getStartDate());
|
||||
$this->assertEquals(new DateTimeImmutable('2021-12-31'), $inside->getEndDate());
|
||||
}
|
||||
|
||||
public function testHouseholdGetPersonsDuringMembership()
|
||||
{
|
||||
$household = new Household();
|
||||
$person1 = new Person();
|
||||
$person2 = new Person();
|
||||
$personOut = new Person();
|
||||
|
||||
$household->addMember(
|
||||
$member1 = (new HouseholdMember())
|
||||
->setStartDate(new DateTimeImmutable('2021-01-01'))
|
||||
->setEndDate(new DateTimeImmutable('2021-12-01'))
|
||||
->setPerson($person1)
|
||||
);
|
||||
|
||||
$household->addMember(
|
||||
$member2a = (new HouseholdMember())
|
||||
->setStartDate(new DateTimeImmutable('2021-01-01'))
|
||||
->setEndDate(new DateTimeImmutable('2021-05-01'))
|
||||
->setPerson($person2)
|
||||
);
|
||||
|
||||
$household->addMember(
|
||||
$member2b = (new HouseholdMember())
|
||||
->setStartDate(new DateTimeImmutable('2021-11-01'))
|
||||
->setEndDate(new DateTimeImmutable('2022-06-01'))
|
||||
->setPerson($person2)
|
||||
);
|
||||
|
||||
$household->addMember(
|
||||
$memberOut = (new HouseholdMember())
|
||||
->setStartDate(new DateTimeImmutable('2019-01-01'))
|
||||
->setEndDate(new DateTimeImmutable('2019-12-01'))
|
||||
->setPerson($personOut)
|
||||
);
|
||||
|
||||
$this->assertCount(0, $household->getPersonsDuringMembership($memberOut));
|
||||
|
||||
$this->assertCount(1, $household->getPersonsDuringMembership($member1));
|
||||
$this->assertContains($person2, $household->getPersonsDuringMembership($member1));
|
||||
|
||||
$this->assertCount(1, $household->getPersonsDuringMembership($member2a));
|
||||
$this->assertContains($person1, $household->getPersonsDuringMembership($member2a));
|
||||
|
||||
$this->assertCount(1, $household->getPersonsDuringMembership($member2b));
|
||||
$this->assertContains($person1, $household->getPersonsDuringMembership($member2b));
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user