Skip to content
This repository was archived by the owner on Jan 31, 2020. It is now read-only.

Commit e736480

Browse files
committed
CHanged PHPUnit mocking to Prophecy which is PHP7.4 compatible
We are using PHPUnit 7 which is not fully compatible with PHP 7.4, and with latest dependencies Prophecy 1.9 is installed which is compatible with PHP 7.4.
1 parent 2dbfdc2 commit e736480

6 files changed

+37
-48
lines changed

test/Helper/AbstractTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@ public function setUp()
3131

3232
public function testViewSettersGetters()
3333
{
34-
$viewMock = $this->getMockBuilder(RendererInterface::class)->getMock();
34+
$viewMock = $this->prophesize(RendererInterface::class)->reveal();
3535

3636
$this->helper->setView($viewMock);
3737
$this->assertEquals($viewMock, $this->helper->getView());

test/Helper/FlashMessengerTest.php

+7-10
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@
1010
namespace ZendTest\View\Helper;
1111

1212
use PHPUnit\Framework\TestCase;
13+
use Prophecy\Argument;
1314
use Zend\I18n\Translator\Translator;
1415
use Zend\Mvc\Controller\Plugin\FlashMessenger as V2PluginFlashMessenger;
1516
use Zend\Mvc\Controller\PluginManager;
@@ -398,12 +399,10 @@ public function testCanDisplayListOfCurrentMessagesCustomisedByConfigSeparator()
398399

399400
public function testCanTranslateMessages()
400401
{
401-
$mockTranslator = $this->getMockBuilder(Translator::class)->getMock();
402-
$mockTranslator->expects($this->exactly(1))
403-
->method('translate')
404-
->will($this->returnValue('translated message'));
402+
$mockTranslator = $this->prophesize(Translator::class);
403+
$mockTranslator->translate('bar-info', 'default')->willReturn('translated message')->shouldBeCalledTimes(1);
405404

406-
$this->helper->setTranslator($mockTranslator);
405+
$this->helper->setTranslator($mockTranslator->reveal());
407406
$this->assertTrue($this->helper->hasTranslator());
408407

409408
$this->seedMessages();
@@ -415,12 +414,10 @@ public function testCanTranslateMessages()
415414

416415
public function testCanTranslateCurrentMessages()
417416
{
418-
$mockTranslator = $this->getMockBuilder(Translator::class)->getMock();
419-
$mockTranslator->expects($this->exactly(1))
420-
->method('translate')
421-
->will($this->returnValue('translated message'));
417+
$mockTranslator = $this->prophesize(Translator::class);
418+
$mockTranslator->translate('bar-info', 'default')->willReturn('translated message')->shouldBeCalledTimes(1);
422419

423-
$this->helper->setTranslator($mockTranslator);
420+
$this->helper->setTranslator($mockTranslator->reveal());
424421
$this->assertTrue($this->helper->hasTranslator());
425422

426423
$this->seedCurrentMessages();

test/Helper/HeadTitleTest.php

+1-1
Original file line numberDiff line numberDiff line change
@@ -186,7 +186,7 @@ public function testCanTranslateTitle()
186186

187187
public function testTranslatorMethods()
188188
{
189-
$translatorMock = $this->getMockBuilder(Translator::class)->getMock();
189+
$translatorMock = $this->prophesize(Translator::class)->reveal();
190190
$this->helper->setTranslator($translatorMock, 'foo');
191191

192192
$this->assertEquals($translatorMock, $this->helper->getTranslator());

test/Helper/Navigation/NavigationTest.php

+2-1
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
use Zend\View;
1919
use Zend\View\Helper\Navigation;
2020
use Zend\View\Renderer\PhpRenderer;
21+
use Zend\I18n\Translator\Translator;
2122

2223
/**
2324
* Tests Zend\View\Helper\Navigation
@@ -219,7 +220,7 @@ public function testDisablingTranslatorInjection()
219220

220221
public function testTranslatorMethods()
221222
{
222-
$translatorMock = $this->getMockBuilder('Zend\I18n\Translator\Translator')->getMock();
223+
$translatorMock = $this->prophesize(Translator::class)->reveal();
223224
$this->_helper->setTranslator($translatorMock, 'foo');
224225

225226
$this->assertEquals($translatorMock, $this->_helper->getTranslator());

test/Resolver/PrefixPathStackResolverTest.php

+5-6
Original file line numberDiff line numberDiff line change
@@ -69,16 +69,15 @@ public function testResolveWithCongruentPrefix()
6969

7070
public function testSetCustomPathStackResolver()
7171
{
72-
$mockResolver = $this->getMockBuilder(ResolverInterface::class)->getMock();
72+
$mockResolver = $this->prophesize(ResolverInterface::class);
73+
$mockResolver->resolve('/bar', null)->willReturn('1111');
74+
$mockResolver->resolve('/baz', null)->willReturn('2222');
75+
$mockResolver->resolve('/tab', null)->willReturn(false);
7376

7477
$resolver = new PrefixPathStackResolver([
75-
'foo' => $mockResolver,
78+
'foo' => $mockResolver->reveal(),
7679
]);
7780

78-
$mockResolver->expects($this->at(0))->method('resolve')->with('/bar')->will($this->returnValue('1111'));
79-
$mockResolver->expects($this->at(1))->method('resolve')->with('/baz')->will($this->returnValue('2222'));
80-
$mockResolver->expects($this->at(2))->method('resolve')->with('/tab')->will($this->returnValue(false));
81-
8281
$this->assertSame('1111', $resolver->resolve('foo/bar'));
8382
$this->assertSame('2222', $resolver->resolve('foo/baz'));
8483
$this->assertNull($resolver->resolve('foo/tab'));

test/Resolver/RelativeFallbackResolverTest.php

+21-29
Original file line numberDiff line numberDiff line change
@@ -10,11 +10,11 @@
1010
namespace ZendTest\View\Resolver;
1111

1212
use PHPUnit\Framework\TestCase;
13+
use Prophecy\Argument;
1314
use stdClass;
1415
use Zend\View\Helper\ViewModel as ViewModelHelper;
1516
use Zend\View\Model\ViewModel;
1617
use Zend\View\Renderer\PhpRenderer;
17-
use Zend\View\Renderer\RendererInterface;
1818
use Zend\View\Resolver\RelativeFallbackResolver;
1919
use Zend\View\Resolver\ResolverInterface;
2020
use Zend\View\Resolver\TemplateMapResolver;
@@ -81,47 +81,39 @@ public function testReturnsResourceFromTopLevelIfExistsInsteadOfTheSameNameSpace
8181

8282
public function testSkipsResolutionOnViewRendererWithoutPlugins()
8383
{
84-
/* @var $baseResolver ResolverInterface|\PHPUnit_Framework_MockObject_MockObject */
85-
$baseResolver = $this->getMockBuilder(ResolverInterface::class)->getMock();
86-
$fallback = new RelativeFallbackResolver($baseResolver);
87-
/* @var $renderer RendererInterface|\PHPUnit_Framework_MockObject_MockObject */
88-
$renderer = $this->getMockBuilder(RendererInterface::class)->getMock();
84+
$baseResolver = $this->prophesize(ResolverInterface::class);
85+
$baseResolver->resolve()->shouldNotBeCalled();
86+
$fallback = new RelativeFallbackResolver($baseResolver->reveal());
8987

90-
$baseResolver->expects($this->never())->method('resolve');
88+
$renderer = $this->prophesize(PhpRenderer::class)->reveal();
9189

9290
$this->assertFalse($fallback->resolve('foo/bar', $renderer));
9391
}
9492

9593
public function testSkipsResolutionOnViewRendererWithoutCorrectCurrentPlugin()
9694
{
97-
/* @var $baseResolver ResolverInterface|\PHPUnit_Framework_MockObject_MockObject */
98-
$baseResolver = $this->getMockBuilder(ResolverInterface::class)->getMock();
99-
$fallback = new RelativeFallbackResolver($baseResolver);
100-
/* @var $renderer RendererInterface|\PHPUnit_Framework_MockObject_MockObject */
101-
$renderer = $this->getMockBuilder(RendererInterface::class)
102-
->setMethods(['getEngine', 'setResolver', 'plugin', 'render'])
103-
->getMock();
95+
$baseResolver = $this->prophesize(ResolverInterface::class);
96+
$baseResolver->resolve()->shouldNotBeCalled();
10497

105-
$baseResolver->expects($this->never())->method('resolve');
106-
$renderer->expects($this->once())->method('plugin')->will($this->returnValue(new stdClass()));
98+
$fallback = new RelativeFallbackResolver($baseResolver->reveal());
10799

108-
$this->assertFalse($fallback->resolve('foo/bar', $renderer));
100+
$renderer = $this->prophesize(PhpRenderer::class);
101+
$renderer->plugin(Argument::any())->willReturn(new stdClass())->shouldBeCalledTimes(1);
102+
103+
$this->assertFalse($fallback->resolve('foo/bar', $renderer->reveal()));
109104
}
110105

111106
public function testSkipsResolutionOnNonExistingCurrentViewModel()
112107
{
113-
/* @var $baseResolver ResolverInterface|\PHPUnit_Framework_MockObject_MockObject */
114-
$baseResolver = $this->getMockBuilder(ResolverInterface::class)->getMock();
115-
$fallback = new RelativeFallbackResolver($baseResolver);
116-
$viewModel = new ViewModelHelper();
117-
/* @var $renderer RendererInterface|\PHPUnit_Framework_MockObject_MockObject */
118-
$renderer = $this->getMockBuilder(RendererInterface::class)
119-
->setMethods(['getEngine', 'setResolver', 'plugin', 'render'])
120-
->getMock();
121-
122-
$baseResolver->expects($this->never())->method('resolve');
123-
$renderer->expects($this->once())->method('plugin')->will($this->returnValue($viewModel));
108+
$baseResolver = $this->prophesize(ResolverInterface::class);
109+
$baseResolver->resolve()->shouldNotBeCalled();
124110

125-
$this->assertFalse($fallback->resolve('foo/bar', $renderer));
111+
$fallback = new RelativeFallbackResolver($baseResolver->reveal());
112+
$viewModel = new ViewModelHelper();
113+
114+
$renderer = $this->prophesize(PhpRenderer::class);
115+
$renderer->plugin(Argument::any())->willReturn($viewModel)->shouldBeCalledTimes(1);
116+
117+
$this->assertFalse($fallback->resolve('foo/bar', $renderer->reveal()));
126118
}
127119
}

0 commit comments

Comments
 (0)