@@ -634,6 +634,45 @@ public function testMailableMetadataGetsSent()
634
634
}
635
635
}
636
636
637
+ public function testMailableMergeMetadata ()
638
+ {
639
+ $ mailable = new WelcomeMailableStub ;
640
+ $ mailable ->to ('hello@laravel.com ' );
641
+ $ mailable ->from ('taylor@laravel.com ' );
642
+ $ mailable ->html ('test content ' );
643
+
644
+ $ mailable ->metadata ([
645
+ 'template_id ' => 'external-template-id ' ,
646
+ 'customer_id ' => 101 ,
647
+ 'order_id ' => 1000 ,
648
+ 'subtotal ' => 1500 ,
649
+ 'gst ' => 150 ,
650
+ 'shipping_fee ' => 20 ,
651
+ 'total ' => 1670 ,
652
+ ]);
653
+
654
+ $ this ->assertTrue ($ mailable ->hasMetadata ('template_id ' , 'external-template-id ' ));
655
+ $ this ->assertTrue ($ mailable ->hasMetadata ('customer_id ' , 101 ));
656
+ $ this ->assertTrue ($ mailable ->hasMetadata ('order_id ' , 1000 ));
657
+ $ this ->assertTrue ($ mailable ->hasMetadata ('subtotal ' , 1500 ));
658
+ $ this ->assertTrue ($ mailable ->hasMetadata ('gst ' , 150 ));
659
+ $ this ->assertTrue ($ mailable ->hasMetadata ('shipping_fee ' , 20 ));
660
+ $ this ->assertTrue ($ mailable ->hasMetadata ('total ' , 1670 ));
661
+
662
+ $ this ->stubMailer ();
663
+ $ view = m::mock (Factory::class);
664
+ $ mailer = new Mailer ('array ' , $ view , new ArrayTransport );
665
+
666
+ $ sentMessage = $ mailer ->send ($ mailable );
667
+ $ this ->assertStringContainsString ('X-Metadata-template_id: external-template-id ' , $ sentMessage ->toString ());
668
+ $ this ->assertStringContainsString ('X-Metadata-customer_id: 101 ' , $ sentMessage ->toString ());
669
+ $ this ->assertStringContainsString ('X-Metadata-order_id: 1000 ' , $ sentMessage ->toString ());
670
+ $ this ->assertStringContainsString ('X-Metadata-subtotal: 1500 ' , $ sentMessage ->toString ());
671
+ $ this ->assertStringContainsString ('X-Metadata-gst: 150 ' , $ sentMessage ->toString ());
672
+ $ this ->assertStringContainsString ('X-Metadata-shipping_fee: 20 ' , $ sentMessage ->toString ());
673
+ $ this ->assertStringContainsString ('X-Metadata-total: 1670 ' , $ sentMessage ->toString ());
674
+ }
675
+
637
676
public function testMailableTagGetsSent ()
638
677
{
639
678
$ this ->stubMailer ();
0 commit comments