test element youtube url

This commit is contained in:
Yisroel Baum 2026-05-27 20:36:34 +03:00
parent 8a06f5a57c
commit f9c4d72e60
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9
6 changed files with 75 additions and 0 deletions

View file

@ -50,6 +50,7 @@ class CreateElementTest extends TestCase
description: 'Root description',
richText: '<p>Root rich text</p>',
pdfPath: '/assets/pdfs/root.pdf',
youtubeUrl: 'https://www.youtube.com/watch?v=yHx-r4p6hHU&t=1s',
parentElementId: null,
));
@ -58,6 +59,10 @@ class CreateElementTest extends TestCase
$this->assertSame('Root description', $element->getDescription());
$this->assertSame('<p>Root rich text</p>', $element->getRichText());
$this->assertSame('/assets/pdfs/root.pdf', $element->getPdfPath());
$this->assertSame(
'https://www.youtube.com/watch?v=yHx-r4p6hHU&t=1s',
$element->getYoutubeUrl(),
);
$this->assertSame($set->getId(), $element->getSet()->getId());
$this->assertNull($element->getParentElement());
}
@ -72,6 +77,7 @@ class CreateElementTest extends TestCase
description: 'Root description',
richText: '<p>Root rich text</p>',
pdfPath: null,
youtubeUrl: null,
parentElementId: null,
)
);
@ -83,6 +89,7 @@ class CreateElementTest extends TestCase
description: 'Child description',
richText: '<p>Child rich text</p>',
pdfPath: '/assets/pdfs/child.pdf',
youtubeUrl: 'https://youtu.be/yHx-r4p6hHU',
parentElementId: $rootElement->getId(),
)
);
@ -100,6 +107,10 @@ class CreateElementTest extends TestCase
'/assets/pdfs/child.pdf',
$childElement->getPdfPath(),
);
$this->assertSame(
'https://youtu.be/yHx-r4p6hHU',
$childElement->getYoutubeUrl(),
);
$this->assertSame(
$rootElement->getId(),
$childElement->getParentElement()->getId(),
@ -116,12 +127,14 @@ class CreateElementTest extends TestCase
description: null,
richText: null,
pdfPath: null,
youtubeUrl: null,
parentElementId: null,
));
$this->assertSame('', $element->getDescription());
$this->assertSame('', $element->getRichText());
$this->assertNull($element->getPdfPath());
$this->assertNull($element->getYoutubeUrl());
}
public function testCreatesElementWithNullPdfPathWhenBlank(): void
@ -134,12 +147,30 @@ class CreateElementTest extends TestCase
description: 'Root description',
richText: '<p>Root rich text</p>',
pdfPath: '',
youtubeUrl: null,
parentElementId: null,
));
$this->assertNull($element->getPdfPath());
}
public function testCreatesElementWithNullYoutubeUrlWhenBlank(): void
{
$set = $this->createSet('Daily learning');
$element = $this->createElement->execute(new CreateElementRequest(
setId: $set->getId(),
title: 'Root',
description: 'Root description',
richText: '<p>Root rich text</p>',
pdfPath: null,
youtubeUrl: '',
parentElementId: null,
));
$this->assertNull($element->getYoutubeUrl());
}
public function testThrowsWhenSetIdMissing(): void
{
$this->expectException(BadRequestException::class);
@ -151,6 +182,7 @@ class CreateElementTest extends TestCase
description: 'Root description',
richText: '<p>Root rich text</p>',
pdfPath: null,
youtubeUrl: null,
parentElementId: null,
));
}
@ -166,6 +198,7 @@ class CreateElementTest extends TestCase
description: 'Root description',
richText: '<p>Root rich text</p>',
pdfPath: null,
youtubeUrl: null,
parentElementId: null,
));
}
@ -181,6 +214,7 @@ class CreateElementTest extends TestCase
description: 'Root description',
richText: '<p>Root rich text</p>',
pdfPath: null,
youtubeUrl: null,
parentElementId: null,
));
}
@ -200,6 +234,7 @@ class CreateElementTest extends TestCase
description: 'Child description',
richText: '<p>Child rich text</p>',
pdfPath: null,
youtubeUrl: null,
parentElementId: 99,
));
}
@ -213,6 +248,7 @@ class CreateElementTest extends TestCase
description: 'Root description',
richText: '<p>Root rich text</p>',
pdfPath: null,
youtubeUrl: null,
parentElementId: null,
));
@ -227,6 +263,7 @@ class CreateElementTest extends TestCase
description: 'Another root description',
richText: '<p>Another root rich text</p>',
pdfPath: null,
youtubeUrl: null,
parentElementId: null,
));
}
@ -242,6 +279,7 @@ class CreateElementTest extends TestCase
description: 'Parent root description',
richText: '<p>Parent root rich text</p>',
pdfPath: null,
youtubeUrl: null,
parentElementId: null,
)
);
@ -257,6 +295,7 @@ class CreateElementTest extends TestCase
description: 'Invalid child description',
richText: '<p>Invalid child rich text</p>',
pdfPath: null,
youtubeUrl: null,
parentElementId: $parentElement->getId(),
));
}