PersonAddressMoveEvent on household move (wip)

This commit is contained in:
2022-02-19 14:04:51 +01:00
parent 8675bb65c1
commit caa63ea97a
11 changed files with 237 additions and 48 deletions

View File

@@ -30,11 +30,6 @@ final class PersonAddressMoveEventTest extends TestCase
public function testPersonChangeHousehold()
{
$person = new Person();
$period = new AccompanyingPeriod();
$period
->setStep(AccompanyingPeriod::STEP_CONFIRMED)
->setPersonLocation($person)
->addPerson($person);
$previousHousehold = (new Household())->addAddress(
($previousAddress = new Address())->setValidFrom(new DateTime('1 year ago'))
@@ -71,11 +66,6 @@ final class PersonAddressMoveEventTest extends TestCase
public function testPersonLeaveHousehold()
{
$person = new Person();
$period = new AccompanyingPeriod();
$period
->setStep(AccompanyingPeriod::STEP_CONFIRMED)
->setPersonLocation($person)
->addPerson($person);
$previousHousehold = (new Household())->addAddress(
($previousAddress = new Address())->setValidFrom(new DateTime('1 year ago'))
@@ -98,4 +88,32 @@ final class PersonAddressMoveEventTest extends TestCase
$this->assertTrue($event->personLeaveWithoutHousehold());
$this->assertEquals(new DateTimeImmutable('tomorrow'), $event->getMoveDate());
}
public function testPersonChangeAddress()
{
$person = new Person();
$household = (new Household())->addAddress(
($previousAddress = new Address())->setValidFrom(new DateTime('1 year ago'))
);
$household = (new Household())->addAddress(
($nextAddress = new Address())->setValidFrom(new DateTime('1 month ago'))
);
$member = new HouseholdMember();
$member
->setPerson($person)
->setHousehold($household)
->setStartDate(new DateTimeImmutable('1 year ago'))
->setEndDate(new DateTimeImmutable('tomorrow'));
$event = new PersonAddressMoveEvent($person);
$event
->setPreviousAddress($previousAddress)
->setNextAddress($nextAddress);
$this->assertSame($previousAddress, $event->getPreviousAddress());
$this->assertSame($nextAddress, $event->getNextAddress());
$this->assertEquals(new DateTime('tomorrow'), $nextAddress->getValidFrom());
$this->assertEquals(new DateTime('tomorrow'), $event->getMoveDate());
}
}