Skip to content

Commit 9f56167

Browse files
committed
Refactor callables tests
1 parent 93742af commit 9f56167

File tree

1 file changed

+15
-44
lines changed

1 file changed

+15
-44
lines changed

test/DependencyInjection/SentryExtensionTest.php

Lines changed: 15 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ public function testBeforeSendUsingServiceDefinition(): void
155155
{
156156
$container = $this->getContainer([
157157
'options' => [
158-
'before_send' => '@before_send',
158+
'before_send' => '@callable_mock',
159159
],
160160
]);
161161

@@ -168,13 +168,13 @@ public function testBeforeSendUsingServiceDefinition(): void
168168
'before_send closure has not been replaced, is the default one'
169169
);
170170
$this->assertEquals(
171-
CallbackMock::createBeforeSendCallback(),
171+
CallbackMock::createCallback(),
172172
$beforeSendCallback
173173
);
174174
}
175175

176176
/**
177-
* @dataProvider beforeSendDataProvider
177+
* @dataProvider scalarCallableDataProvider
178178
*/
179179
public function testBeforeSendUsingScalarCallable($scalarCallable): void
180180
{
@@ -198,15 +198,6 @@ public function testBeforeSendUsingScalarCallable($scalarCallable): void
198198
);
199199
}
200200

201-
public function beforeSendDataProvider(): array
202-
{
203-
return [
204-
[[CallbackMock::class, 'beforeSend']],
205-
[CallbackMock::class . '::beforeSend'],
206-
[__NAMESPACE__ . '\mockBeforeSend'],
207-
];
208-
}
209-
210201
public function testBeforeSendWithInvalidServiceReference(): void
211202
{
212203
$container = $this->getContainer([
@@ -224,13 +215,10 @@ public function testBeforeBreadcrumbUsingServiceDefinition(): void
224215
{
225216
$container = $this->getContainer([
226217
'options' => [
227-
'before_breadcrumb' => '@before_breadcrumb',
218+
'before_breadcrumb' => '@callable_mock',
228219
],
229220
]);
230221

231-
$container->set('before_breadcrumb', function (Event $event) {
232-
});
233-
234222
$beforeBreadcrumbCallback = $this->getOptionsFrom($container)->getBeforeBreadcrumbCallback();
235223
$this->assertIsCallable($beforeBreadcrumbCallback);
236224
$defaultOptions = $this->getOptionsFrom($this->getContainer());
@@ -240,13 +228,13 @@ public function testBeforeBreadcrumbUsingServiceDefinition(): void
240228
'before_breadcrumb closure has not been replaced, is the default one'
241229
);
242230
$this->assertEquals(
243-
CallbackMock::createBeforeBreadcrumbCallback(),
231+
CallbackMock::createCallback(),
244232
$beforeBreadcrumbCallback
245233
);
246234
}
247235

248236
/**
249-
* @dataProvider beforeBreadcrumbDataProvider
237+
* @dataProvider scalarCallableDataProvider
250238
*/
251239
public function testBeforeBreadcrumbUsingScalarCallable($scalarCallable): void
252240
{
@@ -256,9 +244,6 @@ public function testBeforeBreadcrumbUsingScalarCallable($scalarCallable): void
256244
],
257245
]);
258246

259-
$container->set('before_breadcrumb', function (Event $event) {
260-
});
261-
262247
$beforeBreadcrumbCallback = $this->getOptionsFrom($container)->getBeforeBreadcrumbCallback();
263248
$this->assertIsCallable($beforeBreadcrumbCallback);
264249
$defaultOptions = $this->getOptionsFrom($this->getContainer());
@@ -273,12 +258,12 @@ public function testBeforeBreadcrumbUsingScalarCallable($scalarCallable): void
273258
);
274259
}
275260

276-
public function beforeBreadcrumbDataProvider(): array
261+
public function scalarCallableDataProvider(): array
277262
{
278263
return [
279-
[[CallbackMock::class, 'beforeBreadcrumb']],
280-
[CallbackMock::class . '::beforeBreadcrumb'],
281-
[__NAMESPACE__ . '\mockBeforeBreadcrumb'],
264+
[[CallbackMock::class, 'callback']],
265+
[CallbackMock::class . '::callback'],
266+
[__NAMESPACE__ . '\mockBeforeSend'],
282267
];
283268
}
284269

@@ -318,12 +303,8 @@ private function getContainer(array $configuration = []): Container
318303
$containerBuilder->setAlias(self::CONSOLE_LISTENER_TEST_PUBLIC_ALIAS, new Alias(ConsoleListener::class, true));
319304

320305
$beforeSend = new Definition('callable');
321-
$beforeSend->setFactory([CallbackMock::class, 'createBeforeSendCallback']);
322-
$containerBuilder->setDefinition('before_send', $beforeSend);
323-
324-
$beforeBreadcrumb = new Definition('callable');
325-
$beforeBreadcrumb->setFactory([CallbackMock::class, 'createBeforeBreadcrumbCallback']);
326-
$containerBuilder->setDefinition('before_breadcrumb', $beforeBreadcrumb);
306+
$beforeSend->setFactory([CallbackMock::class, 'createCallback']);
307+
$containerBuilder->setDefinition('callable_mock', $beforeSend);
327308

328309
$extension = new SentryExtension();
329310
$extension->load(['sentry' => $configuration], $containerBuilder);
@@ -356,23 +337,13 @@ function mockBeforeBreadcrumb(Breadcrumb $breadcrumb): ?Breadcrumb
356337

357338
class CallbackMock
358339
{
359-
public static function beforeSend(Event $event): ?Event
360-
{
361-
return null;
362-
}
363-
364-
public static function createBeforeSendCallback(): callable
365-
{
366-
return [new self(), 'beforeSend'];
367-
}
368-
369-
public static function beforeBreadcrumb(Breadcrumb $breadcrumb): ?Breadcrumb
340+
public static function callback()
370341
{
371342
return null;
372343
}
373344

374-
public static function createBeforeBreadcrumbCallback(): callable
345+
public static function createCallback(): callable
375346
{
376-
return [new self(), 'beforeBreadcrumb'];
347+
return [new self(), 'callback'];
377348
}
378349
}

0 commit comments

Comments
 (0)