12
12
namespace Symfony \UX \LiveComponent \Test ;
13
13
14
14
use Symfony \Bundle \FrameworkBundle \KernelBrowser ;
15
+ use Symfony \Component \HttpFoundation \File \UploadedFile ;
15
16
use Symfony \Component \HttpFoundation \Response ;
16
17
use Symfony \Component \Routing \Generator \UrlGeneratorInterface ;
17
18
use Symfony \Component \Security \Core \User \UserInterface ;
@@ -77,10 +78,11 @@ public function actingAs(object $user, string $firewallContext = 'main'): self
77
78
78
79
/**
79
80
* @param array<string,mixed> $arguments
81
+ * @param array<string, UploadedFile> $files
80
82
*/
81
- public function call (string $ action , array $ arguments = []): self
83
+ public function call (string $ action , array $ arguments = [], array $ files = [] ): self
82
84
{
83
- return $ this ->request (['args ' => $ arguments ], $ action );
85
+ return $ this ->request (['args ' => $ arguments ], $ action, $ files );
84
86
}
85
87
86
88
/**
@@ -123,7 +125,7 @@ public function response(): Response
123
125
return $ this ->client ()->getResponse ();
124
126
}
125
127
126
- private function request (array $ content = [], ?string $ action = null ): self
128
+ private function request (array $ content = [], ?string $ action = null , array $ files = [] ): self
127
129
{
128
130
$ csrfToken = $ this ->csrfToken ();
129
131
@@ -137,6 +139,7 @@ private function request(array $content = [], ?string $action = null): self
137
139
])
138
140
),
139
141
parameters: ['data ' => json_encode (array_merge ($ content , ['props ' => $ this ->props ()]))],
142
+ files: $ files ,
140
143
server: $ csrfToken ? ['HTTP_X_CSRF_TOKEN ' => $ csrfToken ] : [],
141
144
);
142
145
0 commit comments