FFXIV_Lodestone_Handler/tests/Unit/RelationTest.php

78 lines
2.2 KiB
PHP

<?php
namespace Tests\Unit;
use App\FreeCompanyLink;
use App\FreeCompanyMember;
use App\FreeCompanyRank;
use App\LinkCode;
use App\UserLink;
use Carbon\Carbon;
use Tests\TestCase;
class RelationTest extends TestCase
{
/**
* 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
]);
$linkCode = LinkCode::create([
'freeCompanyLinkId' => $fcLink->id,
'lodestoneId' => 1,
'discordUserId' => 1,
'websiteId' => 1,
'expires' => Carbon::now(),
'code' => 'asdf'
]);
$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($linkCode->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($linkCode->id, $fcLink->linkCodes->first()->id);
$this->assertEquals($fcMember->id, $fcLink->freeCompanyMembers->first()->id);
$this->assertEquals($fcRank->id, $fcLink->freeCompanyRanks->first()->id);
// Abrogate
$fcMember->delete();
$fcRank->delete();
$linkCode->delete();
$userLink->delete();
$fcLink->delete();
}
}