ILIAS  release_6 Revision v6.24-5-g0c8bfefb3b8
All Data Structures Namespaces Files Functions Variables Modules Pages
ilBuddySystemRelationTest.php
Go to the documentation of this file.
1 <?php declare(strict_types=1);
2 /* Copyright (c) 1998-2015 ILIAS open source, Extended GPL, see docs/LICENSE */
3 
4 require_once 'Services/Contact/BuddySystem/test/ilBuddySystemBaseTest.php';
5 
12 {
13  const RELATION_OWNER_ID = -1;
14  const RELATION_BUDDY_ID = -2;
15 
20  {
21  $stateMock = $this->getMockBuilder(ilBuddySystemRelationState::class)->getMock();
22  $relation = new ilBuddySystemRelation($stateMock);
23  $this->assertNull($relation->getPriorState());
24  }
25 
30  {
31  $stateMock = $this->getMockBuilder(ilBuddySystemRelationState::class)->getMock();
32  $furtherStateMock = $this->getMockBuilder(ilBuddySystemRelationState::class)->getMock();
33  $finishStateMock = $this->getMockBuilder(ilBuddySystemRelationState::class)->getMock();
34  $stateMock->expects($this->any())->method('link');
35 
36  $relation = new ilBuddySystemRelation($stateMock);
37  $relation->setState($furtherStateMock);
38  $this->assertEquals($stateMock, $relation->getPriorState());
39  $relation->setState($finishStateMock);
40  $this->assertEquals($stateMock, $relation->getPriorState());
41  }
42 
47  {
48  $stateMock = $this->getMockBuilder(ilBuddySystemRelationState::class)->getMock();
49  $relation = new ilBuddySystemRelation($stateMock);
50 
51  $relation->setUsrId(1);
52  $this->assertEquals(1, $relation->getUsrId());
53 
54  $relation->setBuddyUsrId(2);
55  $this->assertEquals(2, $relation->getBuddyUsrId());
56 
57  $ts = time();
58  $relation->setTimestamp($ts);
59  $this->assertEquals($ts, $relation->getTimestamp());
60  }
61 
65  public function testUsersAreNotAbleToRequestThemselves() : void
66  {
67  $this->expectException(ilBuddySystemRelationStateException::class);
68  $stateMock = $this->getMockBuilder(ilBuddySystemUnlinkedRelationState::class)->getMock();
69  $expectedRelation = new ilBuddySystemRelation($stateMock);
70 
71  $expectedRelation->setUsrId(self::RELATION_OWNER_ID);
72  $expectedRelation->setBuddyUsrId(self::RELATION_OWNER_ID);
73 
74  $expectedRelation->request();
75  }
76 
80  public function testUsersAreNotAbleToUnlinkThemselves() : void
81  {
82  $this->expectException(ilBuddySystemRelationStateException::class);
83  $stateMock = $this->getMockBuilder(ilBuddySystemLinkedRelationState::class)->getMock();
84  $expectedRelation = new ilBuddySystemRelation($stateMock);
85  $expectedRelation->setUsrId(self::RELATION_OWNER_ID);
86  $expectedRelation->setBuddyUsrId(self::RELATION_OWNER_ID);
87 
88  $expectedRelation->unlink();
89  }
90 
94  public function testUsersAreNotAbleToLinkThemselves() : void
95  {
96  $this->expectException(ilBuddySystemRelationStateException::class);
97  $stateMock = $this->getMockBuilder(ilBuddySystemRequestedRelationState::class)->getMock();
98  $expectedRelation = new ilBuddySystemRelation($stateMock);
99  $expectedRelation->setUsrId(self::RELATION_OWNER_ID);
100  $expectedRelation->setBuddyUsrId(self::RELATION_OWNER_ID);
101 
102  $expectedRelation->link();
103  }
104 
108  public function testUsersAreNotAbleToIgnoreThemselves() : void
109  {
110  $this->expectException(ilBuddySystemRelationStateException::class);
111  $stateMock = $this->getMockBuilder(ilBuddySystemRequestedRelationState::class)->getMock();
112  $expectedRelation = new ilBuddySystemRelation($stateMock);
113  $expectedRelation->setUsrId(self::RELATION_OWNER_ID);
114  $expectedRelation->setBuddyUsrId(self::RELATION_OWNER_ID);
115 
116  $expectedRelation->ignore();
117  }
118 }
Class ilBuddySystemRelationTest.
Class ilBuddySystemRelation.