/** * @test */ public function it_redirects_back_to_last_url_if_login_success() { $credentials = ['username' => 'test', 'password' => 'test']; $this->auth->shouldReceive('attempt')->once()->with($credentials)->andReturn(true); Redirect::shouldReceive('back')->once(); $this->call('POST', '/login', $credentials); }
/** * Mock the http referer to allow redirections to the previous page * * @param string $urlReferer */ protected function shouldRedirectBack($UrlReferer = '') { $redirection = new RedirectResponse('http://localhost/' . $UrlReferer, 302, array()); $redirection->setRequest($request = m::mock('Illuminate\\Http\\Request')); $redirection->setSession($session = m::mock('Illuminate\\Session\\Store')); $request->shouldReceive('input')->andReturn(array()); $session->shouldReceive('flash'); $session->shouldReceive('flashInput'); $session->shouldReceive('get')->with('errors', m::any())->andReturn(new ViewErrorBag()); Redirect::shouldReceive('back')->andReturn($redirection); }