ILIAS  release_7 Revision v7.30-3-g800a261c036
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
4require_once 'Services/Contact/BuddySystem/test/ilBuddySystemBaseTest.php';
5
12{
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
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
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
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}
An exception for terminatinating execution or to throw for unit testing.
Class ilBuddySystemRelationTest.
Class ilBuddySystemRelation.