FFXIV_Lodestone_Handler/tests/Feature/RelationTest.php

67 lines
1.8 KiB
PHP

<?php
namespace Tests\Feature;
use App\FreeCompanyLink;
use App\FreeCompanyMember;
use App\FreeCompanyRank;
use App\UserLink;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Tests\TestCase;
class RelationTest extends TestCase
{
use DatabaseTransactions;
/**
* A basic unit test example.
*
* @return void
*/
public function testCanFetchRelations()
{
// Arrange
$fcLink = FreeCompanyLink::create([
'freeCompanyId' => 1,
'discordGuildId' => 1,
'domainName' => 'example.com'
]);
// Act
$userLink = UserLink::create([
'freeCompanyLinkId' => $fcLink->id,
'lodestoneId' => 1,
'discordUserId' => 1,
'websiteUserId' => 1
]);
$fcMember = FreeCompanyMember::create([
'freeCompanyLinkId' => $fcLink->id,
'lodestoneId' => 1,
'lastSeenRank' => 'Mentor'
]);
$fcRank = FreeCompanyRank::create([
'rankName' => 'asdf',
'freeCompanyLinkId' => $fcLink->id,
'daysRequired' => 2,
'websiteRole' => 'asdf'
]);
// Assert
$this->assertEquals($userLink->freeCompanyLink->id, $fcLink->id);
$this->assertEquals($fcMember->freeCompanyLink->id, $fcLink->id);
$this->assertEquals($fcRank->freeCompanyLink->id, $fcLink->id);
$this->assertEquals($userLink->id, $fcLink->userLinks->first()->id);
$this->assertEquals($fcMember->id, $fcLink->freeCompanyMembers->first()->id);
$this->assertEquals($fcRank->id, $fcLink->freeCompanyRanks->first()->id);
// Abrogate
$fcMember->delete();
$fcRank->delete();
$userLink->delete();
$fcLink->delete();
}
}