create(['url' => 'https://source.example.com/post/1']); $target = Page::factory()->create(['url' => 'https://target.example.com/page/2']); $link = PageLink::create([ 'source_page_id' => $source->id, 'target_page_id' => $target->id, ]); $fresh = $link->fresh(); $this->assertNotNull($fresh); $this->assertSame($source->id, $fresh->source_page_id); $this->assertSame($target->id, $fresh->target_page_id); $this->assertInstanceOf(Page::class, $fresh->sourcePage); $this->assertSame($source->id, $fresh->sourcePage->id); $this->assertInstanceOf(Page::class, $fresh->targetPage); $this->assertSame($target->id, $fresh->targetPage->id); } public function test_page_link_factory_with_source_and_target_methods_create_a_link(): void { $source = Page::factory()->create(['url' => 'https://source.example.com/post/1']); $target = Page::factory()->create(['url' => 'https://target.example.com/page/2']); $link = PageLink::factory() ->withSource($source) ->withTarget($target) ->create(); $this->assertSame($source->id, $link->source_page_id); $this->assertSame($target->id, $link->target_page_id); } }