ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ilBuddySystemRelationStateReceiverShouldNotBeAbleToCancelRequestRuleTestCase.php
Go to the documentation of this file.
1<?php
2
19declare(strict_types=1);
20
22
24{
25 public function testConstruct(): void
26 {
27 $relation = $this->mock(ilBuddySystemRelation::class);
28 $this->assertInstanceOf(
29 DontCancel::class,
30 new DontCancel($relation)
31 );
32 }
33
34 public function testMatches(): void
35 {
36 $relation = $this->mock(ilBuddySystemRelation::class);
37 $relation->expects($this->once())->method('isRequested')->willReturn(true);
38 $relation->expects($this->once())->method('isOwnedByActor')->willReturn(false);
39 $instance = new DontCancel($relation);
40
41 $this->assertTrue($instance->matches());
42 }
43
44 public function testMatchesRequested(): void
45 {
46 $relation = $this->mock(ilBuddySystemRelation::class);
47 $relation->expects($this->once())->method('isRequested')->willReturn(false);
48 $relation->expects($this->never())->method('isOwnedByActor');
49 $instance = new DontCancel($relation);
50
51 $this->assertFalse($instance->matches());
52 }
53
54 public function testMatchesOwned(): void
55 {
56 $relation = $this->mock(ilBuddySystemRelation::class);
57 $relation->expects($this->once())->method('isRequested')->willReturn(true);
58 $relation->expects($this->once())->method('isOwnedByActor')->willReturn(true);
59 $instance = new DontCancel($relation);
60
61 $this->assertFalse($instance->matches());
62 }
63
64 public function testInvokeFalse(): void
65 {
66 $relation = $this->mock(ilBuddySystemRelation::class);
67 $state = $this->mock(ilBuddySystemUnlinkedRelationState::class);
68
69 $instance = new DontCancel($relation);
70
71 $this->assertFalse($instance($state));
72 }
73
74 public function testInvoke(): void
75 {
76 $relation = $this->mock(ilBuddySystemRelation::class);
77 $state = $this->mock(ilBuddySystemRelationState::class);
78 $instance = new DontCancel($relation);
79
80 $this->assertTrue($instance($state));
81 }
82
83 private function mock(string $className)
84 {
85 return $this->getMockBuilder($className)->disableOriginalConstructor()->getMock();
86 }
87}
$relation