summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--app/Model/Link.php3
-rw-r--r--tests/units/LinkTest.php12
2 files changed, 13 insertions, 2 deletions
diff --git a/app/Model/Link.php b/app/Model/Link.php
index 87ba49c4..42b8382c 100644
--- a/app/Model/Link.php
+++ b/app/Model/Link.php
@@ -55,8 +55,7 @@ class Link extends Base
*/
public function getOppositeLinkId($link_id)
{
- $link = $this->getById($link_id);
- return $link['opposite_id'] ?: $link_id;
+ return $this->db->table(self::TABLE)->eq('id', $link_id)->findOneColumn('opposite_id') ?: $link_id;
}
/**
diff --git a/tests/units/LinkTest.php b/tests/units/LinkTest.php
index ebcbcd39..076e1b3b 100644
--- a/tests/units/LinkTest.php
+++ b/tests/units/LinkTest.php
@@ -36,6 +36,18 @@ class LinkTest extends Base
$this->assertNotEquals($link1['opposite_id'], $link2['opposite_id']);
}
+ public function testGetOppositeLinkId()
+ {
+ $l = new Link($this->container);
+
+ $this->assertTrue($l->create('Link A'));
+ $this->assertTrue($l->create('Link B', 'Link C'));
+
+ $this->assertEquals(1, $l->getOppositeLinkId(1));
+ $this->assertEquals(3, $l->getOppositeLinkId(2));
+ $this->assertEquals(2, $l->getOppositeLinkId(3));
+ }
+
public function testUpdate()
{
$l = new Link($this->container);