@@ -243,6 +243,78 @@ public function testValidateCurrentTheme()
243
243
);
244
244
}
245
245
246
+ #[
247
+ DbIsolation(false ),
248
+ DataFixture(StoreFixture::class, ['code ' => 'pt_br_store ' ], 'store2 ' ),
249
+ DataFixture(CustomerFixture::class, as: 'customer ' ),
250
+ DataFixture(ProductFixture::class, as: 'product ' ),
251
+ DataFixture(
252
+ PriceAlertFixture::class,
253
+ [
254
+ 'customer_id ' => '$customer.id$ ' ,
255
+ 'product_id ' => '$product.id$ ' ,
256
+ 'store_id ' => '1 ' ,
257
+ ]
258
+ ),
259
+ DataFixture(
260
+ PriceAlertFixture::class,
261
+ [
262
+ 'customer_id ' => '$customer.id$ ' ,
263
+ 'product_id ' => '$product.id$ ' ,
264
+ 'store_id ' => '$store2.id$ ' ,
265
+ ]
266
+ ),
267
+ DataFixture(
268
+ TranslationFixture::class,
269
+ [
270
+ 'string ' => 'Price change alert! We wanted you to know that prices have changed for these products: ' ,
271
+ 'translate ' => 'Alerte changement de prix! Nous voulions que vous sachiez ' .
272
+ ' que les prix ont changé pour ces produits: ' ,
273
+ 'locale ' => 'fr_FR ' ,
274
+ ],
275
+ 'frTxt '
276
+ ),
277
+ DataFixture(
278
+ TranslationFixture::class,
279
+ [
280
+ 'string ' => 'Price change alert! We wanted you to know that prices have changed for these products: ' ,
281
+ 'translate ' => 'Alerta de mudanca de preco! Queriamos que voce soubesse ' .
282
+ ' que os precos mudaram para esses produtos: ' ,
283
+ 'locale ' => 'pt_BR ' ,
284
+ ],
285
+ 'ptTxt '
286
+ ),
287
+ Config('catalog/productalert/allow_price ' , 1 ),
288
+ Config('general/locale/code ' , 'fr_FR ' , ScopeInterface::SCOPE_STORE , 'default ' ),
289
+ Config('general/locale/code ' , 'pt_BR ' , ScopeInterface::SCOPE_STORE , 'pt_br_store ' ),
290
+ ]
291
+ public function testEmailShouldBeTranslatedToStoreViewLanguage ()
292
+ {
293
+ $ customerId = (int )$ this ->fixtures ->get ('customer ' )->getId ();
294
+
295
+ $ frMailSent = false ;
296
+ $ ptMailSent = false ;
297
+ $ this ->transportBuilder ->setOnMessageSentCallback (
298
+ function ($ message ) use (&$ frMailSent , &$ ptMailSent ) {
299
+ $ messageContent = $ message ->getBody ()->getParts ()[0 ]->getRawContent ();
300
+ $ frTxt = $ this ->fixtures ->get ('frTxt ' )->getTranslate ();
301
+ $ ptTxt = $ this ->fixtures ->get ('ptTxt ' )->getTranslate ();
302
+
303
+ if (str_contains ($ messageContent , $ frTxt )) {
304
+ $ frMailSent = true ;
305
+ }
306
+
307
+ if (str_contains ($ messageContent , $ ptTxt )) {
308
+ $ ptMailSent = true ;
309
+ }
310
+ }
311
+ );
312
+
313
+ $ this ->processAlerts ($ customerId );
314
+ $ this ->assertTrue ($ frMailSent );
315
+ $ this ->assertTrue ($ ptMailSent );
316
+ }
317
+
246
318
/**
247
319
* @param int $customerId
248
320
* @param int $websiteId
0 commit comments