160 - Testing Callbacks with Invokables

This commit is contained in:
Adam Wathan
2018-01-22 15:09:16 -05:00
parent 9174e9d0c3
commit 079d442ded
2 changed files with 27 additions and 2 deletions

View File

@@ -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);
}
}

View File

@@ -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);
}
}