. * * 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\Core\FieldProcessing; use Espo\Core\{ ORM\EntityManager, }; class FileTest extends \tests\integration\Core\BaseTestCase { public function testFile1(): void { /* @var $entityManager EntityManager */ $entityManager = $this->getContainer()->get('entityManager'); $attachment1 = $entityManager->createEntity('Attachment', [ 'contents' => 'test-1', 'relatedType' => 'Document', ]); $document = $entityManager->createEntity('Document', [ 'fileId' => $attachment1->getId(), ]); $attachment1 = $entityManager->getEntityById('Attachment', $attachment1->getId()); $this->assertEquals($document->getId(), $attachment1->get('relatedId')); $attachment2 = $entityManager->createEntity('Attachment', [ 'contents' => 'test-2', 'relatedType' => 'Document', ]); $document->set('fileId', $attachment2->getId()); $entityManager->saveEntity($document); $attachment2 = $entityManager->getEntityById('Attachment', $attachment2->getId()); $this->assertEquals($document->getId(), $attachment2->get('relatedId')); $attachment1 = $entityManager->getEntityById('Attachment', $attachment1->getId()); $this->assertNull($attachment1); } }