Add an Event bundle class

This commit is contained in:
Oliver Davies 2025-06-12 02:10:08 +01:00
parent f56eb931c2
commit 14cd79a960
6 changed files with 49 additions and 14 deletions

View file

@ -6,16 +6,17 @@ namespace Drupal\Tests\opd_presentations\Traits;
use Drupal\Core\Datetime\DrupalDateTime;
use Drupal\Tests\node\Traits\NodeCreationTrait;
use Drupal\ctools\Testing\EntityCreationTrait;
use Drupal\opd_presentations\Entity\Event;
use Drupal\opd_presentations\Entity\Presentation;
use Drupal\paragraphs\Entity\Paragraph;
use Drupal\paragraphs\ParagraphInterface;
trait PresentationCreationTrait {
use EntityCreationTrait;
use NodeCreationTrait;
/**
* @param ParagraphInterface[] $events
* @param Event[] $events
*/
private function createPresentation(array $events): Presentation {
$presentation = $this->createNode([
@ -28,14 +29,19 @@ trait PresentationCreationTrait {
return $presentation;
}
private function createEvent(string $eventName, string $eventDate): ParagraphInterface {
return Paragraph::create(
[
private function createEvent(string $eventName, string $eventDate): Event {
$event = $this->createEntity(
entity_type: 'paragraph',
values: [
'field_date' => (new DrupalDateTime($eventDate))->getTimestamp(),
'field_event_name' => $eventName,
'type' => 'event',
'type' => Event::PARAGRAPH_TYPE,
],
);
assert($event instanceof Event);
return $event;
}
}