. * * The interactive user interfaces in modified source and object code versions * of this program must display Appropriate Legal Notices, as required under * Section 5 of the GNU Affero General Public License version 3. * * In accordance with Section 7(b) of the GNU Affero General Public License version 3, * these Appropriate Legal Notices must retain the display of the "EspoCRM" word. ************************************************************************/ namespace tests\integration\Espo\Tools\Activities; use Espo\Core\Api\Request; use Espo\Modules\Crm\Entities\Account; use Espo\Modules\Crm\Entities\CaseObj; use Espo\Modules\Crm\Tools\Activities\Api\GetComposeAddressList; use tests\integration\Core\BaseTestCase; class ComposeEmailAddressListTest extends BaseTestCase { public function testGetGetAddressList(): void { $em = $this->getEntityManager(); $account = $em->createEntity(Account::ENTITY_TYPE, [ 'name' => 'Test', 'emailAddress' => 'test@test.com', ]); $case = $em->createEntity(CaseObj::ENTITY_TYPE, [ 'accountId' => $account->getId(), ]); $action = $this->getInjectableFactory() ->create(GetComposeAddressList::class); $request = $this->createMock(Request::class); $request ->expects($this->any()) ->method('getRouteParam') ->willReturnMap([ ['parentType', CaseObj::ENTITY_TYPE], ['id', $case->getId()] ]); /** @noinspection PhpUnhandledExceptionInspection */ $response = $action->process($request); $list = json_decode($response->getBody()); $this->assertEquals([ (object) [ 'emailAddress' => 'test@test.com', 'name' => $account->get('name'), 'entityId' => $account->getId(), 'entityType' => Account::ENTITY_TYPE, ] ], $list); } }