From 079d442ded3452d406a574e61be8d931a8ded169 Mon Sep 17 00:00:00 2001 From: Adam Wathan Date: Mon, 22 Jan 2018 15:09:16 -0500 Subject: [PATCH] 160 - Testing Callbacks with Invokables --- app/Http/Middleware/ForceStripeAccount.php | 4 +-- .../Middleware/ForceStripeAccountTest.php | 25 +++++++++++++++++++ 2 files changed, 27 insertions(+), 2 deletions(-) diff --git a/app/Http/Middleware/ForceStripeAccount.php b/app/Http/Middleware/ForceStripeAccount.php index 74f4b98..b507f6f 100644 --- a/app/Http/Middleware/ForceStripeAccount.php +++ b/app/Http/Middleware/ForceStripeAccount.php @@ -14,12 +14,12 @@ class ForceStripeAccount * @param \Closure $next * @return mixed */ - public function handle($request, Closure $next) + public function handle($request, $next) { if (Auth::user()->stripe_account_id === null) { return redirect()->route('backstage.stripe-connect.connect'); } - // return $next($request); + return $next($request); } } diff --git a/tests/Unit/Http/Middleware/ForceStripeAccountTest.php b/tests/Unit/Http/Middleware/ForceStripeAccountTest.php index 6f23f74..982afe8 100644 --- a/tests/Unit/Http/Middleware/ForceStripeAccountTest.php +++ b/tests/Unit/Http/Middleware/ForceStripeAccountTest.php @@ -30,4 +30,29 @@ class ForceStripeAccountTest extends TestCase $this->assertInstanceOf(RedirectResponse::class, $response); $this->assertEquals(route('backstage.stripe-connect.connect'), $response->getTargetUrl()); } + + /** @test */ + function users_with_a_stripe_account_can_continue() + { + $this->be(factory(User::class)->create([ + 'stripe_account_id' => 'test_stripe_account_1234', + ])); + + $request = new Request; + $next = new class { + public $called = false; + + public function __invoke($request) + { + $this->called = true; + return $request; + } + }; + $middleware = new ForceStripeAccount; + + $response = $middleware->handle($request, $next); + + $this->assertTrue($next->called); + $this->assertSame($response, $request); + } }