1515use Symfony \Bundle \MakerBundle \Test \MakerTestCase ;
1616use Symfony \Bundle \MakerBundle \Test \MakerTestDetails ;
1717use Symfony \Bundle \MakerBundle \Test \MakerTestRunner ;
18+ use Symfony \Component \Messenger \Attribute \AsMessage ;
1819use Symfony \Component \Yaml \Yaml ;
1920
2021class MakeMessageTest extends MakerTestCase
@@ -63,15 +64,25 @@ public function getTestDetails(): \Generator
6364
6465 $ this ->assertStringContainsString ('Success ' , $ output );
6566
66- $ messengerConfig = $ runner ->readYaml ('config/packages/messenger.yaml ' );
67- $ this ->assertArrayHasKey ('routing ' , $ messengerConfig ['framework ' ]['messenger ' ]);
68- $ this ->assertArrayHasKey ('App\Message\SendWelcomeEmail ' , $ messengerConfig ['framework ' ]['messenger ' ]['routing ' ]);
69- $ this ->assertSame (
70- 'async ' ,
71- $ messengerConfig ['framework ' ]['messenger ' ]['routing ' ]['App\Message\SendWelcomeEmail ' ]
72- );
73-
7467 $ this ->runMessageTest ($ runner , 'it_generates_message_with_transport.php ' );
68+
69+ $ messageContents = file_get_contents ($ runner ->getPath ('src/Message/SendWelcomeEmail.php ' ));
70+
71+ if (!str_contains ($ messageContents , AsMessage::class)) {
72+ /* @legacy remove when AsMessage is always available */
73+ $ messengerConfig = $ runner ->readYaml ('config/packages/messenger.yaml ' );
74+ $ this ->assertArrayHasKey ('routing ' , $ messengerConfig ['framework ' ]['messenger ' ]);
75+ $ this ->assertArrayHasKey ('App\Message\SendWelcomeEmail ' , $ messengerConfig ['framework ' ]['messenger ' ]['routing ' ]);
76+ $ this ->assertSame (
77+ 'async ' ,
78+ $ messengerConfig ['framework ' ]['messenger ' ]['routing ' ]['App\Message\SendWelcomeEmail ' ]
79+ );
80+
81+ return ;
82+ }
83+
84+ $ this ->assertStringContainsString (AsMessage::class, $ messageContents );
85+ $ this ->assertStringContainsString ("#[AsMessage('async')] " , $ messageContents );
7586 }),
7687 ];
7788
@@ -86,10 +97,13 @@ public function getTestDetails(): \Generator
8697
8798 $ this ->assertStringContainsString ('Success ' , $ output );
8899
100+ $ this ->runMessageTest ($ runner , 'it_generates_message_with_transport.php ' );
101+
89102 $ messengerConfig = $ runner ->readYaml ('config/packages/messenger.yaml ' );
90103 $ this ->assertArrayNotHasKey ('routing ' , $ messengerConfig ['framework ' ]['messenger ' ]);
91104
92- $ this ->runMessageTest ($ runner , 'it_generates_message_with_transport.php ' );
105+ $ messageContents = file_get_contents ($ runner ->getPath ('src/Message/SendWelcomeEmail.php ' ));
106+ $ this ->assertStringNotContainsString (AsMessage::class, $ messageContents );
93107 }),
94108 ];
95109 }
0 commit comments