Add PresentationBuilder

This commit is contained in:
Oliver Davies 2025-06-14 23:18:13 +01:00
parent a2fc812ddb
commit 9148ec5a65
3 changed files with 77 additions and 47 deletions

View file

@ -7,6 +7,7 @@ namespace Drupal\Tests\opd_presentations;
use Drupal\Tests\RandomGeneratorTrait;
use Drupal\Tests\opd_presentations\Traits\PresentationCreationTrait;
use Drupal\opd_presentations\Date;
use Drupal\opd_presentations\PresentationBuilder;
use Drupal\opd_presentations\PresentationCounter;
use weitzman\DrupalTestTraits\ExistingSiteBase;
@ -19,14 +20,16 @@ final class PresentationCounterTest extends ExistingSiteBase {
$counter = $this->container->get(PresentationCounter::class);
assert($counter instanceof PresentationCounter);
$this->createPresentation(
events: [
$this->createEvent(
eventDate: Date::fromString('yesterday'),
eventName: $this->randomString(),
),
],
);
$events = [
$this->createEvent(
eventDate: Date::fromString('yesterday'),
eventName: $this->randomString(),
),
];
PresentationBuilder::create('')
->setEvents($events)
->build();
$this->assertGreaterThanOrEqual(
actual: $counter->getPastCount(),
@ -40,15 +43,17 @@ final class PresentationCounterTest extends ExistingSiteBase {
$count = $counter->getPastCount();
$this->createPresentation(
events: [
$this->createEvent(
eventDate: Date::fromString('yesterday'),
eventName: $this->randomString(),
),
],
isPublished: FALSE,
);
$events = [
$this->createEvent(
eventDate: Date::fromString('yesterday'),
eventName: $this->randomString(),
),
];
$presentation = PresentationBuilder::create('')
->setEvents($events)
->setPublished(FALSE)
->build();
$this->assertSame(
actual: $counter->getPastCount(),
@ -68,19 +73,22 @@ final class PresentationCounterTest extends ExistingSiteBase {
expected: 0,
);
$this->createPresentation(
events: [
$this->createEvent(
eventDate: Date::fromString('tomorrow'),
eventName: $this->randomString(),
),
$events = [
$this->createEvent(
eventDate: Date::fromString('tomorrow'),
eventName: $this->randomString(),
),
$this->createEvent(
eventDate: Date::fromString('yesterday'),
eventName: $this->randomString(),
),
],
);
$this->createEvent(
eventDate: Date::fromString('yesterday'),
eventName: $this->randomString(),
),
];
$presentation = PresentationBuilder::create($this->randomString())
->setEvents($events)
->build();
$presentation->save();
$counter = $this->container->get(PresentationCounter::class);