SessionUrlTest.php 1.54 KB
Newer Older
1 2 3
<?php namespace Modules\User\Tests;

use Cartalyst\Sentinel\Laravel\Facades\Sentinel;
4
use Illuminate\Support\Facades\Config;
5
use Modules\Core\Tests\BaseTestCase;
6

7
class SessionUrlTest extends BaseTestCase
8 9 10 11
{
    /** @test */
    public function loginPageShouldBeAccessible()
    {
12
        $this->checkResponseIsOkAndContains(['GET', '/auth/login'], '.header:contains("Sign In")');
13 14 15 16 17
    }

    /** @test */
    public function registerPageShouldBeAccessible()
    {
18
        $this->checkResponseIsOkAndContains(['GET', '/auth/register'], '.header:contains("Register New Membership")');
19 20 21 22 23
    }

    /** @test */
    public function forgotPasswordShouldBeAccessible()
    {
24
        $this->checkResponseIsOkAndContains(['GET', '/auth/reset'], '.header:contains("Reset Password")');
25 26 27 28 29 30 31 32
    }

    /** @test */
    public function dashboardShouldNotBePubliclyAccessible()
    {
        $this->app['router']->enableFilters();
        Sentinel::logout();

33
        $this->client->request('GET', '/' . Config::get('core::core.admin-prefix'));
34 35 36 37 38 39 40 41 42 43 44 45 46

        $this->assertRedirectedTo('auth/login');
    }

    /** @test */
    public function dashboardShouldBeAccessibleIfLoggedIn()
    {
        // $sentinelMock = Mockery::mock('Cartalyst\Sentinel\Laravel\Facades\Sentinel');
        // $sentinelMock->shouldReceive('check')->andReturn(true);
        $this->app['router']->enableFilters();
        $user = Sentinel::findById(4);
        Sentinel::login($user);

47
        $this->checkResponseIsOkAndContains(['GET', '/' . Config::get('core::core.admin-prefix')], 'h1:contains("Dashboard")');
48
    }
49 50

}