Rabbi_Gerzi/backend/tests/Feature/DemoSeedDataTest.php

88 lines
3.5 KiB
PHP

<?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->getPdfPath());
$this->assertNull($rootElement->getYoutubeUrl());
$this->assertCount(6, $childElements);
$this->assertSame(
[
[
'title' => '1. 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' => '2. 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' => '3. Divine Plan',
'description' => 'Understanding the unique greatness of '
. 'our generation and the call to remain hopeful, '
. 'optimistic, and resilient.',
],
[
'title' => '4. Architecture of the Soul',
'description' => "Becoming a Baal Da'at - A Master of "
. 'Inner Awareness',
],
[
'title' => '5. Arba Yesodot',
'description' => 'A structured approach to balanced '
. 'living: Physical & Financial Health, '
. 'Relationships, Wisdom and Guidance.',
],
[
'title' => '6. 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;
}
}