The Testing Pattern
Feature test checks it's wired up. Unit test checks the logic.
FEATURE TEST
"Is it used?"
$response->assertMiddlewareIsApplied('auth');
$this->assertContainsFormRequest(StoreUserRequest::class);
Event::assertDispatched(OrderPlaced::class);
Queue::assertPushed(ProcessOrder::class);
+
UNIT TEST
"Does it work?"
$instance = new SomeClass;
$result = $instance->handle($data);
$this->assertSame($expected, $result);
Same pattern, every time. Once you spot it, you can't unsee it.
Next up: middleware, form requests, events, and jobs.