1616use OxidEsales \EshopCommunity \Tests \ContainerTrait ;
1717use OxidEsales \Twig \Extensions \IncludeContentExtension ;
1818use PHPUnit \Framework \Attributes \DataProvider ;
19- use PHPUnit \Framework \MockObject \MockBuilder ;
20- use PHPUnit \Framework \MockObject \MockObject ;
2119use Twig \Environment ;
2220use Twig \Error \LoaderError ;
2321use Twig \Extension \StringLoaderExtension ;
@@ -28,25 +26,16 @@ final class IncludeContentExtensionTest extends AbstractExtensionTestCase
2826{
2927 use ContainerTrait;
3028
31- private MockBuilder $ contentMockBuilder ;
32- private MockObject &ContentFactory $ contentFactoryMock ;
29+ private ContentFactory $ contentFactoryStub ;
3330 private string $ spamContent = 'not spam<script>alert("spam")</script> ' ;
3431
3532 protected function setUp (): void
3633 {
3734 parent ::setUp ();
3835
39- $ this ->contentMockBuilder = $ this
40- ->getMockBuilder (Content::class)
41- ->disableOriginalConstructor ()
42- ->onlyMethods (['getLanguage ' ]);
36+ $ this ->contentFactoryStub = $ this ->createStub (ContentFactory::class);
4337
44- $ this ->contentFactoryMock = $ this
45- ->getMockBuilder (ContentFactory::class)
46- ->onlyMethods (['getContent ' ])
47- ->getMock ();
48-
49- $ this ->contentFactoryMock
38+ $ this ->contentFactoryStub
5039 ->method ('getContent ' )
5140 ->willReturnMap ($ this ->getContentMap ());
5241 }
@@ -113,49 +102,49 @@ private function initializeExtension(bool $sanitizerEnabled): void
113102 $ this ->attachContainerToContainerFactory ();
114103
115104 $ this ->extension = new IncludeContentExtension (
116- $ this ->contentFactoryMock ,
105+ $ this ->contentFactoryStub ,
117106 ContainerFacade::get (HtmlSanitizerInterface::class)
118107 );
119108 }
120109
121- private function prepareContentMock (int $ language , array $ fields ): MockObject
110+ private function prepareContent (int $ language , array $ fields ): Content
122111 {
123- $ mock = $ this -> contentMockBuilder -> getMock ();
124- $ mock -> method ( ' getLanguage ' )-> willReturn ($ language );
112+ $ content = new Content ();
113+ $ content -> setLanguage ($ language );
125114
126115 foreach ($ fields as $ field => $ value ) {
127116 $ property = 'oxcontents__ ' . $ field ;
128- $ mock ->$ property = (object )['value ' => $ value ];
117+ $ content ->$ property = (object )['value ' => $ value ];
129118 }
130119
131- return $ mock ;
120+ return $ content ;
132121 }
133122
134- /** Build the content return map for the mock factory */
123+ /** Build the content return map for the stub factory */
135124 private function getContentMap (): array
136125 {
137126 return [
138- ['ident ' , 'german ' , $ this ->prepareContentMock (0 , [
127+ ['ident ' , 'german ' , $ this ->prepareContent (0 , [
139128 'oxactive ' => true ,
140129 'oxcontent ' => 'Template code (DE) ' ,
141130 ])],
142- ['ident ' , 'english ' , $ this ->prepareContentMock (1 , [
131+ ['ident ' , 'english ' , $ this ->prepareContent (1 , [
143132 'oxactive ' => true ,
144133 'oxcontent ' => 'Template code (EN) ' ,
145134 ])],
146- ['ident ' , 'twig_code ' , $ this ->prepareContentMock (0 , [
135+ ['ident ' , 'twig_code ' , $ this ->prepareContent (0 , [
147136 'oxactive ' => true ,
148137 'oxcontent ' => 'In my_var I have {{ my_var }} value ' ,
149138 ])],
150- ['ident ' , 'dynamic_content ' , $ this ->prepareContentMock (0 , [
139+ ['ident ' , 'dynamic_content ' , $ this ->prepareContent (0 , [
151140 'oxactive ' => true ,
152141 'oxcontent ' => 'Dynamic content ' ,
153142 ])],
154- ['ident ' , 'not_active ' , $ this ->prepareContentMock (0 , [
143+ ['ident ' , 'not_active ' , $ this ->prepareContent (0 , [
155144 'oxactive ' => false ,
156145 'oxcontent ' => 'Not active content ' ,
157146 ])],
158- ['ident ' , 'spam ' , $ this ->prepareContentMock (0 , [
147+ ['ident ' , 'spam ' , $ this ->prepareContent (0 , [
159148 'oxactive ' => true ,
160149 'oxcontent ' => $ this ->spamContent ,
161150 ])],
0 commit comments