|
|
|
<?php
|
|
|
|
|
|
|
|
|
|
|
|
use Darksparrow\DeegraphInteractions\Exceptions\QueryBuilderConflictingFieldAlreadyExistsException;
|
|
|
|
use Darksparrow\DeegraphInteractions\QueryBuilder\QueryBuilder;
|
|
|
|
use PHPUnit\Framework\TestCase;
|
|
|
|
|
|
|
|
final class QueryBuilderLinkTest extends TestCase
|
|
|
|
{
|
|
|
|
private string $TestUUID = "{00000000-0000-0000-0000-000000000000}";
|
|
|
|
|
|
|
|
public function test0()
|
|
|
|
{
|
|
|
|
self::assertEquals(
|
|
|
|
expected: "LINK {$this->TestUUID} TO {$this->TestUUID} AS test",
|
|
|
|
actual: QueryBuilder::Link()
|
|
|
|
->LinkWhat($this->TestUUID)
|
|
|
|
->LinkTo($this->TestUUID)
|
|
|
|
->As("test")
|
|
|
|
->Build()
|
|
|
|
);
|
|
|
|
}
|
|
|
|
public function test1()
|
|
|
|
{
|
|
|
|
self::assertEquals(
|
|
|
|
expected: "LINK {$this->TestUUID} TO {$this->TestUUID} AS test OVERWRITE",
|
|
|
|
actual: QueryBuilder::Link()
|
|
|
|
->LinkWhat($this->TestUUID)
|
|
|
|
->LinkTo($this->TestUUID)
|
|
|
|
->As("test")
|
|
|
|
->Overwrite()
|
|
|
|
->Build()
|
|
|
|
);
|
|
|
|
}
|
|
|
|
public function test2()
|
|
|
|
{
|
|
|
|
self::assertEquals(
|
|
|
|
expected: "LINK {$this->TestUUID} TO {$this->TestUUID} AS test REPLACE",
|
|
|
|
actual: QueryBuilder::Link()
|
|
|
|
->LinkWhat($this->TestUUID)
|
|
|
|
->LinkTo($this->TestUUID)
|
|
|
|
->As("test")
|
|
|
|
->Replace()
|
|
|
|
->Build()
|
|
|
|
);
|
|
|
|
}
|
|
|
|
public function test3()
|
|
|
|
{
|
|
|
|
self::assertEquals(
|
|
|
|
expected: "LINK {$this->TestUUID} TO {$this->TestUUID} AS test FORCE",
|
|
|
|
actual: QueryBuilder::Link()
|
|
|
|
->LinkWhat($this->TestUUID)
|
|
|
|
->LinkTo($this->TestUUID)
|
|
|
|
->As("test")
|
|
|
|
->Force()
|
|
|
|
->Build()
|
|
|
|
);
|
|
|
|
}
|
|
|
|
public function test4()
|
|
|
|
{
|
|
|
|
self::assertEquals(
|
|
|
|
expected: "LINK {$this->TestUUID} OF {$this->TestUUID} AS test",
|
|
|
|
actual: QueryBuilder::Link()
|
|
|
|
->LinkWhat($this->TestUUID)
|
|
|
|
->LinkOf($this->TestUUID)
|
|
|
|
->As("test")
|
|
|
|
->Build()
|
|
|
|
);
|
|
|
|
}
|
|
|
|
public function test5()
|
|
|
|
{
|
|
|
|
self::expectException(QueryBuilderConflictingFieldAlreadyExistsException::class);
|
|
|
|
self::assertEquals(
|
|
|
|
expected: "LINK {$this->TestUUID} OF {$this->TestUUID} AS test",
|
|
|
|
actual: QueryBuilder::Link()
|
|
|
|
->LinkWhat($this->TestUUID)
|
|
|
|
->LinkOf($this->TestUUID)
|
|
|
|
->As("test")
|
|
|
|
->Overwrite()
|
|
|
|
->Replace()
|
|
|
|
->Force()
|
|
|
|
->Build()
|
|
|
|
);
|
|
|
|
}
|
|
|
|
}
|