-
Notifications
You must be signed in to change notification settings - Fork 708
/
SerializerConfigurationPassTest.php
107 lines (85 loc) · 3.56 KB
/
SerializerConfigurationPassTest.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
<?php
/*
* This file is part of the FOSRestBundle package.
*
* (c) FriendsOfSymfony <http://friendsofsymfony.github.com/>
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace FOS\RestBundle\Tests\DependencyInjection\Compiler;
use FOS\RestBundle\DependencyInjection\Compiler\SerializerConfigurationPass;
/**
* SerializerConfigurationPassTest test
*/
class SerializerConfigurationPassTest extends \PHPUnit_Framework_TestCase
{
public function testShouldDoNothingIfSerializerIsFound()
{
$container = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerBuilder')
->setMethods(array('has'))
->getMock();
$container->expects($this->once())
->method('has')
->with($this->equalTo('fos_rest.serializer'))
->will($this->returnValue(true));
$container->expects($this->never())
->method('setAlias');
$compiler = new SerializerConfigurationPass();
$compiler->process($container);
}
/**
* @expectedException \InvalidArgumentException
*/
public function testShouldThrowInvalidArgumentExceptionWhenNoSerializerIsFound()
{
$container = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerBuilder')
->setMethods(array('has'))
->getMock();
$container->method('has')
->will($this->returnValueMap(array(
array('fos_rest.serializer', false),
array('jms_serializer.serializer', false),
array('serializer', false))));
$compiler = new SerializerConfigurationPass();
$compiler->process($container);
}
public function testShouldConfigureJMSSerializer()
{
$container = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerBuilder')
->setMethods(array('has', 'setAlias', 'removeDefinition'))
->getMock();
$container->method('has')
->will($this->returnValueMap(array(
array('fos_rest.serializer', false),
array('jms_serializer.serializer', true),
array('serializer', true))));
$container->expects($this->once())
->method('setAlias')
->with($this->equalTo('fos_rest.serializer'), $this->equalTo('serializer'));
$container->expects($this->once())
->method('removeDefinition')
->with('fos_rest.serializer.exception_wrapper_normalizer');
$compiler = new SerializerConfigurationPass();
$compiler->process($container);
}
public function testShouldConfigureCoreSerializer()
{
$container = $this->getMockBuilder('Symfony\Component\DependencyInjection\ContainerBuilder')
->setMethods(array('has', 'setAlias', 'removeDefinition'))
->getMock();
$container->method('has')
->will($this->returnValueMap(array(
array('fos_rest.serializer', false),
array('jms_serializer.serializer', false),
array('serializer', true))));
$container->expects($this->once())
->method('setAlias')
->with($this->equalTo('fos_rest.serializer'), $this->equalTo('serializer'));
$container->expects($this->once())
->method('removeDefinition')
->with('fos_rest.serializer.exception_wrapper_serialize_handler');
$compiler = new SerializerConfigurationPass();
$compiler->process($container);
}
}