8
8
namespace Magento \Framework \Mail \Test \Unit \Template ;
9
9
10
10
use Magento \Framework \App \TemplateTypesInterface ;
11
+ use Magento \Framework \Mail \EmailMessageInterface ;
12
+ use Magento \Framework \Mail \EmailMessageInterfaceFactory ;
13
+ use Magento \Framework \Mail \MimePartInterface ;
14
+ use Magento \Framework \Mail \MimePartInterfaceFactory ;
15
+ use PHPUnit \Framework \MockObject \MockObject ;
11
16
12
17
/**
13
18
* Class TransportBuilderTest
@@ -61,6 +66,16 @@ class TransportBuilderTest extends \PHPUnit\Framework\TestCase
61
66
*/
62
67
private $ emailMessageMock ;
63
68
69
+ /**
70
+ * @var MimePartInterfaceFactory|MockObject
71
+ */
72
+ private $ mimePartFactoryMock ;
73
+
74
+ /**
75
+ * @var EmailMessageInterfaceFactory|MockObject
76
+ */
77
+ private $ emailMessageInterfaceFactoryMock ;
78
+
64
79
/**
65
80
* @return void
66
81
*/
@@ -81,6 +96,10 @@ protected function setUp()
81
96
->disableOriginalConstructor ()
82
97
->setMethods (['create ' ])
83
98
->getMockForAbstractClass ();
99
+
100
+ $ this ->emailMessageInterfaceFactoryMock = $ this ->createMock (EmailMessageInterfaceFactory::class);
101
+ $ this ->mimePartFactoryMock = $ this ->createMock (MimePartInterfaceFactory::class);
102
+
84
103
$ this ->builder = $ objectManagerHelper ->getObject (
85
104
$ this ->builderClassName ,
86
105
[
@@ -89,7 +108,9 @@ protected function setUp()
89
108
'objectManager ' => $ this ->objectManagerMock ,
90
109
'senderResolver ' => $ this ->senderResolverMock ,
91
110
'mailTransportFactory ' => $ this ->mailTransportFactoryMock ,
92
- 'messageFactory ' => $ this ->messageFactoryMock
111
+ 'messageFactory ' => $ this ->messageFactoryMock ,
112
+ 'emailMessageInterfaceFactory ' => $ this ->emailMessageInterfaceFactoryMock ,
113
+ 'mimePartInterfaceFactory ' => $ this ->mimePartFactoryMock ,
93
114
]
94
115
);
95
116
}
@@ -108,6 +129,20 @@ public function testGetTransport($templateType, $bodyText, $templateNamespace)
108
129
$ vars = ['reason ' => 'Reason ' , 'customer ' => 'Customer ' ];
109
130
$ options = ['area ' => 'frontend ' , 'store ' => 1 ];
110
131
132
+ /** @var MimePartInterface|MockObject $mimePartMock */
133
+ $ mimePartMock = $ this ->createMock (MimePartInterface::class);
134
+
135
+ $ this ->mimePartFactoryMock ->expects ($ this ->any ())
136
+ ->method ('create ' )
137
+ ->willReturn ($ mimePartMock );
138
+
139
+ /** @var EmailMessageInterface|MockObject $emailMessage */
140
+ $ emailMessage = $ this ->createMock (EmailMessageInterface::class);
141
+
142
+ $ this ->emailMessageInterfaceFactoryMock ->expects ($ this ->any ())
143
+ ->method ('create ' )
144
+ ->willReturn ($ emailMessage );
145
+
111
146
$ template = $ this ->createMock (\Magento \Framework \Mail \TemplateInterface::class);
112
147
$ template ->expects ($ this ->once ())->method ('setVars ' )->with ($ this ->equalTo ($ vars ))->willReturnSelf ();
113
148
$ template ->expects ($ this ->once ())->method ('setOptions ' )->with ($ this ->equalTo ($ options ))->willReturnSelf ();
@@ -127,7 +162,9 @@ public function testGetTransport($templateType, $bodyText, $templateNamespace)
127
162
->willReturn ($ transport );
128
163
129
164
$ this ->builder ->setTemplateIdentifier ('identifier ' )->setTemplateVars ($ vars )->setTemplateOptions ($ options );
130
- $ this ->assertInstanceOf (\Magento \Framework \Mail \TransportInterface::class, $ this ->builder ->getTransport ());
165
+
166
+ $ result = $ this ->builder ->getTransport ();
167
+ $ this ->assertInstanceOf (\Magento \Framework \Mail \TransportInterface::class, $ result );
131
168
}
132
169
133
170
/**
0 commit comments