/** * Register the Redirector service. * * @return void */ protected function registerRedirector() { $this->app['redirect'] = $this->app->share(function ($app) { $redirector = new Redirector($app['url'], $app['translator']); // If the session is set on the application instance, we'll inject it into // the redirector instance. This allows the redirect responses to allow // for the quite convenient "with" methods that flash to the session. if (isset($app['session.store'])) { $redirector->setSession($app['session.store']); } return $redirector; }); }
/** * @test * * Tests the Redirect::withLangMessage() method. */ public function should_flash_language_messages_with_type_to_session() { $messages = new \Jgallred\Simplemessage\Messaging\Typed\Messages(); $this->mock_session->shouldReceive('get')->andReturn($messages); $this->mock_url->shouldReceive('to')->andReturn('/home'); $this->mock_url->shouldReceive('getRequest')->andReturn(Mockery::mock('\\Illuminate\\Http\\Request')); $this->mock_session->shouldReceive('flash')->atLeast(1)->with('messages', $messages); $this->mock_translator->shouldReceive('get')->atLeast(1)->with('simplemessage::test.test_line')->andReturn('used for unit testing'); $this->redirector->to('')->withLangMessage('simplemessage::test.test_line', 'success'); $this->assertCount(1, $messages); $this->assertEquals('used for unit testing', $messages->first()->text); $this->assertEquals('success', $messages->first()->type); }