Root rich text

', shortPdfPath: null, longPdfPath: null, youtubeUrl: null, set: $set, parentElement: null, ); $childElement = new Element( id: 2, title: 'Child', description: 'Child description', iconImageUrl: '/assets/child-icon.svg', richText: '

Child rich text

', shortPdfPath: '/assets/pdfs/child.pdf', longPdfPath: '/assets/pdfs/child-long.pdf', youtubeUrl: 'https://www.youtube.com/watch?v=yHx-r4p6hHU&t=1s', set: $set, parentElement: $rootElement, ); $this->assertSame(2, $childElement->getId()); $this->assertSame('Child', $childElement->getTitle()); $this->assertSame( 'Child description', $childElement->getDescription(), ); $this->assertSame( '/assets/child-icon.svg', $childElement->getIconImageUrl(), ); $this->assertSame( '

Child rich text

', $childElement->getRichText(), ); $this->assertSame( '/assets/pdfs/child.pdf', $childElement->getShortPdfPath(), ); $this->assertSame( '/assets/pdfs/child-long.pdf', $childElement->getLongPdfPath(), ); $this->assertSame( 'https://www.youtube.com/watch?v=yHx-r4p6hHU&t=1s', $childElement->getYoutubeUrl(), ); $this->assertSame($set, $childElement->getSet()); $this->assertSame($rootElement, $childElement->getParentElement()); $this->assertNull($rootElement->getIconImageUrl()); $this->assertNull($rootElement->getShortPdfPath()); $this->assertNull($rootElement->getLongPdfPath()); $this->assertNull($rootElement->getYoutubeUrl()); $this->assertNull($rootElement->getParentElement()); } public function testUpdatesEditableFields(): void { $set = new DomainSet( id: 1, name: 'Daily learning', description: 'Daily learning description', iconImageUrl: '/assets/daily-learning-icon.svg', ); $element = new Element( id: 1, title: 'Original', description: 'Original description', iconImageUrl: '/assets/original.svg', richText: '

Original

', shortPdfPath: '/assets/pdfs/original.pdf', longPdfPath: '/assets/pdfs/original-long.pdf', youtubeUrl: 'https://www.youtube.com/watch?v=yHx-r4p6hHU', set: $set, parentElement: null, ); $element->setTitle('Updated'); $element->setDescription('Updated description'); $element->setIconImageUrl(null); $element->setRichText('

Updated

'); $element->setShortPdfPath(null); $element->setLongPdfPath(null); $element->setYoutubeUrl(null); $this->assertSame('Updated', $element->getTitle()); $this->assertSame('Updated description', $element->getDescription()); $this->assertNull($element->getIconImageUrl()); $this->assertSame('

Updated

', $element->getRichText()); $this->assertNull($element->getShortPdfPath()); $this->assertNull($element->getLongPdfPath()); $this->assertNull($element->getYoutubeUrl()); } }