test demo seed data

This commit is contained in:
Yisroel Baum 2026-05-27 21:37:18 +03:00
parent e71d398840
commit 53f0dfc1ed
Signed by: yisroelbaum
GPG key ID: 0FA60884F75520A9

View file

@ -0,0 +1,87 @@
<?php
namespace Tests\Feature;
use App\Element\ElementRepository;
use App\Set\SetRepository;
use Database\Seeders\DatabaseSeeder;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Tests\TestCase;
class DemoSeedDataTest extends TestCase
{
use RefreshDatabase;
public function testBaderechRootElementHasDemoChildren(): void
{
$this->seed(DatabaseSeeder::class);
$setRepository = app(SetRepository::class);
$elementRepository = app(ElementRepository::class);
$baderechSet = $setRepository->find(1);
$rootElement = $elementRepository->findRootBySet($baderechSet);
$childElements = $elementRepository->findByParentElement($rootElement);
$this->assertSame('', $rootElement->getRichText());
$this->assertNull($rootElement->getYoutubeUrl());
$this->assertCount(6, $childElements);
$this->assertSame(
[
[
'title' => 'Introduction',
'description' => 'Your beliefs influence your thinking, '
. 'and your thinking drives your choices. When you '
. 'nurture healthy beliefs - about yourself, about '
. 'the Creator, and about the meaning of life - you '
. 'unlock the ability to live with strength, '
. 'confidence, and hope.',
],
[
'title' => 'Foundations',
'description' => 'Focal points for thriving in a chaotic '
. 'world. In this fast, complex era, you flourish '
. 'when you develop clarity, well-being, resilience, '
. 'and the ability to uplift the physical world with '
. 'spiritual intention.',
],
[
'title' => 'Divine Plan',
'description' => 'Understanding the unique greatness of '
. 'our generation and the call to remain hopeful, '
. 'optimistic, and resilient.',
],
[
'title' => 'Architecture of the Soul',
'description' => "Becoming a Baal Da'at - A Master of "
. 'Inner Awareness',
],
[
'title' => 'Arba Yesodot',
'description' => 'A structured approach to balanced '
. 'living: Physical & Financial Health, '
. 'Relationships, Wisdom and Guidance.',
],
[
'title' => 'Fluid Integration',
'description' => 'A series of practical exercises to '
. 'engender a shift in mindset, embed healthy '
. 'routines, positive life practices.',
],
],
$this->serializeChildElements($childElements),
);
}
private function serializeChildElements(array $childElements): array
{
$serializedChildElements = [];
foreach ($childElements as $childElement) {
$serializedChildElements[] = [
'title' => $childElement->getTitle(),
'description' => $childElement->getDescription(),
];
}
return $serializedChildElements;
}
}