diff --git a/app/Http/Controllers/HomeController.php b/app/Http/Controllers/HomeController.php index 9b9d0235e7..14476ea8e3 100644 --- a/app/Http/Controllers/HomeController.php +++ b/app/Http/Controllers/HomeController.php @@ -38,16 +38,6 @@ class HomeController extends Controller Session::put('end', $end); } - /** - * @return \Illuminate\Http\RedirectResponse - */ - public function flush() - { - Cache::flush(); - - return Redirect::route('index'); - } - /** * @return \Illuminate\View\View */ diff --git a/app/Http/Kernel.php b/app/Http/Kernel.php index 1fc059e294..88d5bd657e 100644 --- a/app/Http/Kernel.php +++ b/app/Http/Kernel.php @@ -22,6 +22,7 @@ class Kernel extends HttpKernel 'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse', 'Illuminate\Session\Middleware\StartSession', 'Illuminate\View\Middleware\ShareErrorsFromSession', + 'FireflyIII\Http\Middleware\ReplaceTestVars', 'FireflyIII\Http\Middleware\VerifyCsrfToken', ]; @@ -38,6 +39,7 @@ class Kernel extends HttpKernel 'range' => 'FireflyIII\Http\Middleware\Range', 'reminders' => 'FireflyIII\Http\Middleware\Reminders', 'piggybanks' => 'FireflyIII\Http\Middleware\PiggyBanks', + ]; } diff --git a/app/Http/Middleware/ReplaceTestVars.php b/app/Http/Middleware/ReplaceTestVars.php new file mode 100644 index 0000000000..10daf84d09 --- /dev/null +++ b/app/Http/Middleware/ReplaceTestVars.php @@ -0,0 +1,54 @@ +app = $app; + } + + /** + * Handle an incoming request. + * + * @param \Illuminate\Http\Request $request + * @param \Closure $next + * + * @return mixed + */ + public function handle($request, Closure $next) + { + if ('testing' === $this->app->environment() && $request->has('_token')) { + $input = $request->all(); + $input['_token'] = $request->session()->token(); + // we need to update _token value to make sure we get the POST / PUT tests passed. + $request->replace($input); + } + + return $next($request); + } + +} \ No newline at end of file diff --git a/tests/controllers/HomeControllerTest.php b/tests/controllers/HomeControllerTest.php index cb03ff6fbd..05bd3c7550 100644 --- a/tests/controllers/HomeControllerTest.php +++ b/tests/controllers/HomeControllerTest.php @@ -26,31 +26,38 @@ class HomeControllerTest extends TestCase parent::tearDown(); } + /** + * @covers FireflyIII\Http\Controllers\HomeController::dateRange + */ + public function testDateRangeWarning() + { + $start = '2014-03-01'; + $end = '2015-03-31'; + + $this->be(new FireflyIII\User); + $this->call('POST', '/daterange', ['end' => $end, 'start' => $start]); + $this->assertResponseOk(); + + $this->assertSessionHas('start'); + $this->assertSessionHas('end'); + $this->assertSessionHas('warning'); + + } + /** * @covers FireflyIII\Http\Controllers\HomeController::dateRange */ public function testDateRange() { - // Remove the following lines when you implement this test. - $this->markTestIncomplete('This test has not been implemented yet.'); - } + $start = '2015-03-01'; + $end = '2015-03-31'; - /** - * @covers FireflyIII\Http\Controllers\HomeController::flush - */ - public function testFlush() - { - // Remove the following lines when you implement this test. - $this->markTestIncomplete('This test has not been implemented yet.'); - } + $this->be(new FireflyIII\User); + $this->call('POST', '/daterange', ['end' => $end, 'start' => $start]); + $this->assertResponseOk(); - /** - * @covers FireflyIII\Http\Controllers\HomeController::index - */ - public function testIndexNoLogin() - { - $response = $this->call('GET', '/'); - $this->assertRedirectedTo('auth/login'); + $this->assertSessionHas('start'); + $this->assertSessionHas('end'); } @@ -65,4 +72,14 @@ class HomeControllerTest extends TestCase } + /** + * @covers FireflyIII\Http\Controllers\HomeController::index + */ + public function testIndexNoLogin() + { + $response = $this->call('GET', '/'); + $this->assertRedirectedTo('auth/login'); + + } + }