15
15
use Symfony \Bundle \MakerBundle \Test \MakerTestCase ;
16
16
use Symfony \Bundle \MakerBundle \Test \MakerTestDetails ;
17
17
use Symfony \Bundle \MakerBundle \Test \MakerTestRunner ;
18
+ use Symfony \Component \Messenger \Attribute \AsMessage ;
18
19
use Symfony \Component \Yaml \Yaml ;
19
20
20
21
class MakeMessageTest extends MakerTestCase
@@ -63,15 +64,25 @@ public function getTestDetails(): \Generator
63
64
64
65
$ this ->assertStringContainsString ('Success ' , $ output );
65
66
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
-
74
67
$ 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 );
75
86
}),
76
87
];
77
88
@@ -86,10 +97,13 @@ public function getTestDetails(): \Generator
86
97
87
98
$ this ->assertStringContainsString ('Success ' , $ output );
88
99
100
+ $ this ->runMessageTest ($ runner , 'it_generates_message_with_transport.php ' );
101
+
89
102
$ messengerConfig = $ runner ->readYaml ('config/packages/messenger.yaml ' );
90
103
$ this ->assertArrayNotHasKey ('routing ' , $ messengerConfig ['framework ' ]['messenger ' ]);
91
104
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 );
93
107
}),
94
108
];
95
109
}
0 commit comments