Completed
Push — master ( 3bb67e...6a3f6b )
by mw
02:11
created

testIsApprovedUpdate_True_WhenNoApprovedRevIsAvailable()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 18

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 18
rs 9.6666
c 0
b 0
f 0
cc 1
nc 1
nop 0
1
<?php
2
3
namespace SMW\ApprovedRevs\Tests;
4
5
use SMW\ApprovedRevs\ApprovedRevsHandler;
6
7
/**
8
 * @covers \SMW\ApprovedRevs\ApprovedRevsHandler
9
 * @group semantic-approved-revs
10
 *
11
 * @license GNU GPL v2+
12
 * @since 1.0
13
 *
14
 * @author mwjames
15
 */
16
class ApprovedRevsHandlerTest extends \PHPUnit_Framework_TestCase {
17
18
	private $approvedRevsFacade;
19
20
	protected function setUp() {
21
22
		$this->approvedRevsFacade = $this->getMockBuilder( '\SMW\ApprovedRevs\ApprovedRevsFacade' )
23
			->disableOriginalConstructor()
24
			->getMock();
25
	}
26
27
	public function testCanConstruct() {
28
29
		$this->assertInstanceOf(
30
			ApprovedRevsHandler::class,
31
			new ApprovedRevsHandler( $this->approvedRevsFacade )
32
		);
33
	}
34
35
	public function testIsApprovedUpdate_True() {
36
37
		$this->approvedRevsFacade->expects( $this->once() )
38
			->method( 'hasApprovedRevision' )
39
			->will( $this->returnValue( true ) );
40
41
		$this->approvedRevsFacade->expects( $this->once() )
42
			->method( 'getApprovedRevID' )
43
			->will( $this->returnValue( 42 ) );
44
45
		$title = $this->getMockBuilder( '\Title' )
46
			->disableOriginalConstructor()
47
			->getMock();
48
49
		$instance = new ApprovedRevsHandler(
50
			$this->approvedRevsFacade
51
		);
52
53
		$this->assertTrue(
54
			$instance->isApprovedUpdate( $title, 42 )
55
		);
56
	}
57
58
	public function testIsApprovedUpdate_True_WhenNoApprovedRevIsAvailable() {
59
60
		$this->approvedRevsFacade->expects( $this->once() )
61
			->method( 'hasApprovedRevision' )
62
			->will( $this->returnValue( false ) );
63
64
		$title = $this->getMockBuilder( '\Title' )
65
			->disableOriginalConstructor()
66
			->getMock();
67
68
		$instance = new ApprovedRevsHandler(
69
			$this->approvedRevsFacade
70
		);
71
72
		$this->assertTrue(
73
			$instance->isApprovedUpdate( $title, 42 )
74
		);
75
	}
76
77
	public function testIsApprovedUpdate_False() {
78
79
		$this->approvedRevsFacade->expects( $this->once() )
80
			->method( 'hasApprovedRevision' )
81
			->will( $this->returnValue( true ) );
82
83
		$this->approvedRevsFacade->expects( $this->once() )
84
			->method( 'getApprovedRevID' )
85
			->will( $this->returnValue( 42 ) );
86
87
		$title = $this->getMockBuilder( '\Title' )
88
			->disableOriginalConstructor()
89
			->getMock();
90
91
		$instance = new ApprovedRevsHandler(
92
			$this->approvedRevsFacade
93
		);
94
95
		$this->assertFalse(
96
			$instance->isApprovedUpdate( $title, 1001 )
97
		);
98
	}
99
100
	public function testDoChangeRevision() {
101
102
		$this->approvedRevsFacade->expects( $this->once() )
103
			->method( 'getApprovedRevID' )
104
			->will( $this->returnValue( 42 ) );
105
106
		$title = $this->getMockBuilder( '\Title' )
107
			->disableOriginalConstructor()
108
			->getMock();
109
110
		$instance = new ApprovedRevsHandler(
111
			$this->approvedRevsFacade
112
		);
113
114
		$rev = null;
115
116
		$instance->doChangeRevision( $title, $rev );
117
	}
118
119
	public function testDoChangeRevisionID() {
120
121
		$this->approvedRevsFacade->expects( $this->once() )
122
			->method( 'getApprovedRevID' )
123
			->will( $this->returnValue( 42 ) );
124
125
		$title = $this->getMockBuilder( '\Title' )
126
			->disableOriginalConstructor()
127
			->getMock();
128
129
		$instance = new ApprovedRevsHandler(
130
			$this->approvedRevsFacade
131
		);
132
133
		$rev = null;
134
135
		$instance->doChangeRevisionID( $title, $rev );
136
	}
137
138
}
139