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,24 @@ 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+ $ messengerConfig = $ runner ->readYaml ('config/packages/messenger.yaml ' );
73+ $ this ->assertArrayHasKey ('routing ' , $ messengerConfig ['framework ' ]['messenger ' ]);
74+ $ this ->assertArrayHasKey ('App\Message\SendWelcomeEmail ' , $ messengerConfig ['framework ' ]['messenger ' ]['routing ' ]);
75+ $ this ->assertSame (
76+ 'async ' ,
77+ $ messengerConfig ['framework ' ]['messenger ' ]['routing ' ]['App\Message\SendWelcomeEmail ' ]
78+ );
79+
80+ return ;
81+ }
82+
83+ $ this ->assertStringContainsString (AsMessage::class, $ messageContents );
84+ $ this ->assertStringContainsString ("#[AsMessage('async')] " , $ messageContents );
7585 }),
7686 ];
7787
@@ -86,10 +96,13 @@ public function getTestDetails(): \Generator
8696
8797 $ this ->assertStringContainsString ('Success ' , $ output );
8898
99+ $ this ->runMessageTest ($ runner , 'it_generates_message_with_transport.php ' );
100+
89101 $ messengerConfig = $ runner ->readYaml ('config/packages/messenger.yaml ' );
90102 $ this ->assertArrayNotHasKey ('routing ' , $ messengerConfig ['framework ' ]['messenger ' ]);
91103
92- $ this ->runMessageTest ($ runner , 'it_generates_message_with_transport.php ' );
104+ $ messageContents = file_get_contents ($ runner ->getPath ('src/Message/SendWelcomeEmail.php ' ));
105+ $ this ->assertStringNotContainsString (AsMessage::class, $ messageContents );
93106 }),
94107 ];
95108 }
0 commit comments