for(Anime::factory()) ->createOne(); $type = $theme->type; static::assertInstanceOf(AnimeSynonymType::class, $type); } /** * Synonym shall be a searchable resource. * * @return void */ public function testSearchableAs(): void { $synonym = AnimeSynonym::factory() ->for(Anime::factory()) ->createOne(); static::assertIsString($synonym->searchableAs()); } /** * Synonym shall be a searchable resource. * * @return void */ public function testToSearchableArray(): void { $synonym = AnimeSynonym::factory() ->for(Anime::factory()) ->createOne(); static::assertIsArray($synonym->toSearchableArray()); } /** * Synonyms shall be nameable. * * @return void */ public function testNameable(): void { $synonym = AnimeSynonym::factory() ->for(Anime::factory()) ->createOne(); static::assertIsString($synonym->getName()); } /** * Synonyms shall have subtitle. * * @return void */ public function testHasSubtitle(): void { $synonym = AnimeSynonym::factory() ->for(Anime::factory()) ->createOne(); static::assertIsString($synonym->getSubtitle()); } /** * Synonyms shall belong to an Anime. * * @return void */ public function testAnime(): void { $synonym = AnimeSynonym::factory() ->for(Anime::factory()) ->createOne(); static::assertInstanceOf(BelongsTo::class, $synonym->anime()); static::assertInstanceOf(Anime::class, $synonym->anime()->first()); } }