diff --git a/src/Entity/AgentAddress.php b/src/Entity/AgentAddress.php index 5851f6c3..a28bc15e 100644 --- a/src/Entity/AgentAddress.php +++ b/src/Entity/AgentAddress.php @@ -7,6 +7,7 @@ use Doctrine\ORM\Mapping as ORM; #[ORM\Entity] +#[ORM\Table(name: 'agent_address')] class AgentAddress extends Address { #[ORM\ManyToOne(targetEntity: Agent::class, inversedBy: 'addresses')] @@ -18,8 +19,16 @@ public function getOwner(): Agent return $this->owner; } - public function setOwner(?Agent $owner): void + public function setOwner(Agent $owner): void { $this->owner = $owner; } + + public function toArray(): array + { + $data = parent::toArray(); + $data['owner'] = $this->owner->getId()?->toRfc4122(); + + return $data; + } } diff --git a/tests/Unit/Entity/AgentAddressTest.php b/tests/Unit/Entity/AgentAddressTest.php new file mode 100644 index 00000000..640e5fb2 --- /dev/null +++ b/tests/Unit/Entity/AgentAddressTest.php @@ -0,0 +1,102 @@ +createMock(City::class); + $agent = $this->createMock(Agent::class); + $createdAt = new DateTimeImmutable('2025-01-01 00:00:00'); + $updatedAt = new DateTimeImmutable('2025-01-02 00:00:00'); + $deletedAt = new DateTimeImmutable('2025-01-03 00:00:00'); + + $agentAddress->setId($uuid); + $this->assertSame($uuid, $agentAddress->getId()); + + $agentAddress->setStreet('Main Street'); + $this->assertSame('Main Street', $agentAddress->getStreet()); + + $agentAddress->setNumber('123'); + $this->assertSame('123', $agentAddress->getNumber()); + + $agentAddress->setNeighborhood('Downtown'); + $this->assertSame('Downtown', $agentAddress->getNeighborhood()); + + $agentAddress->setComplement('Apt. 1'); + $this->assertSame('Apt. 1', $agentAddress->getComplement()); + + $agentAddress->setCity($city); + $this->assertSame($city, $agentAddress->getCity()); + + $agentAddress->setZipcode('12345678'); + $this->assertSame('12345678', $agentAddress->getZipcode()); + + $agentAddress->setCreatedAt($createdAt); + $this->assertSame($createdAt, $agentAddress->getCreatedAt()); + + $agentAddress->setUpdatedAt($updatedAt); + $this->assertSame($updatedAt, $agentAddress->getUpdatedAt()); + + $agentAddress->setDeletedAt($deletedAt); + $this->assertSame($deletedAt, $agentAddress->getDeletedAt()); + + $agentAddress->setOwner($agent); + $this->assertSame($agent, $agentAddress->getOwner()); + } + + public function testToArray(): void + { + $uuid = Uuid::v4(); + $city = $this->createMock(City::class); + $city->method('toArray')->willReturn([ + 'id' => 'city-id', + 'name' => 'City Name', + ]); + $agent = $this->createMock(Agent::class); + $agentUuid = Uuid::v4(); + $agent->method('getId')->willReturn($agentUuid); + $parentData = [ + 'id' => $uuid->toRfc4122(), + 'street' => 'Main Street', + 'number' => '123', + 'neighborhood' => 'Downtown', + 'complement' => 'Apt. 1', + 'zipcode' => '12345678', + 'city' => [ + 'id' => 'city-id', + 'name' => 'City Name', + ], + 'createdAt' => '2025-01-01 00:00:00', + 'updatedAt' => '2025-01-02 00:00:00', + 'deletedAt' => '2025-01-03 00:00:00', + ]; + + $agentAddress = $this->getMockBuilder(AgentAddress::class) + ->onlyMethods(['toArray']) + ->getMock(); + + $agentAddress->method('toArray')->willReturn(array_merge($parentData, [ + 'owner' => $agentUuid->toRfc4122(), + ])); + + $result = $agentAddress->toArray(); + $expectedArray = array_merge($parentData, [ + 'owner' => $agentUuid->toRfc4122(), + ]); + + $this->assertSame($expectedArray, $result); + } +} diff --git a/var/translations/index.js b/var/translations/index.js index 152595b6..ca829581 100644 --- a/var/translations/index.js +++ b/var/translations/index.js @@ -327,7 +327,7 @@ export const NAME_ORGANIZATION = {"id":"name_organization","translations":{"mess export const NAME_INITIATIVE = {"id":"name_initiative","translations":{"messages":{"en":"Nome gives initiative","pt-br":"Nome da iniciativa","es":"Nombre de la iniciativa"}}}; export const NAME_PHASES = {"id":"name_phases","translations":{"messages":{"en":"Phase name","pt-br":"Nome da fase","es":"Nombre de la fase"}}}; export const NEIGHBORHOOD = {"id":"neighborhood","translations":{"messages":{"en":"Neighborhood","pt-br":"Bairro","es":"Barrio"}}}; -export const NEW_PHASE = {"id":"new_phase","translations":{"messages":{"en":"New phase","pt-br":"Nova fase","es":"Nueva fase"}}}; +export const NEW_PHASE = {"id":"new_phase","translations":{"messages":{"en":"New phase","pt-br":"Nova Fase","es":"Nueva fase"}}}; export const NOTIFICATIONS = {"id":"notifications","translations":{"messages":{"en":"Notifications","pt-br":"Notifica\u00e7\u00f5es","es":"Notificaciones"}}}; export const NO = {"id":"no","translations":{"messages":{"en":"No","pt-br":"N\u00e3o","es":"No"}}}; export const NO_INFORM = {"id":"no_inform","translations":{"messages":{"en":"Do Not Inform","pt-br":"N\u00e3o Informar","es":"No Informar"}}};