]> BookStack Code Mirror - bookstack/commitdiff
Added some basic registration testing
authorDan Brown <redacted>
Thu, 10 Sep 2015 19:28:53 +0000 (20:28 +0100)
committerDan Brown <redacted>
Thu, 10 Sep 2015 19:28:53 +0000 (20:28 +0100)
app/Http/Controllers/Auth/AuthController.php
database/factories/ModelFactory.php
tests/AuthTest.php

index 507322c3dad3ebf107570110dd9e423022f7d1ef..98346b30562b43c8dc069fafeb8ce30b8d161c6e 100644 (file)
@@ -155,6 +155,7 @@ class AuthController extends Controller
             return redirect('/register/confirm');
         }
 
+        $newUser->email_confirmed = true;
         auth()->login($newUser);
         session()->flash('success', 'Thanks for signing up! You are now registered and signed in.');
         return redirect($this->redirectPath());
index a47e02b72dff735ea3147e2ce0d8a431fa6dcbfc..6a1ab049cb7bac695161c687e1f6f97ee533df57 100644 (file)
@@ -39,4 +39,4 @@ $factory->define(BookStack\Page::class, function ($faker) {
         'name' => $faker->sentence,
         'html' => '<p>' . implode('</p>', $faker->paragraphs(5)) . '</p>'
     ];
-});
\ No newline at end of file
+});
index ad9265fc161de027ca97559a1ef40e792032c1be..343823687a5f8735725667b50b4c44b4e6f6d711 100644 (file)
@@ -20,6 +20,48 @@ class AuthTest extends TestCase
             ->see('BookStack');
     }
 
+    public function testPublicViewing()
+    {
+        $settings = app('BookStack\Services\SettingService');
+        $settings->put('app-public', 'true');
+        $this->visit('/')
+            ->seePageIs('/')
+            ->see('Sign In');
+    }
+
+    public function testRegistrationShowing()
+    {
+        // Ensure registration form is showing
+        $this->setSettings(['registration-enabled' => 'true']);
+        $this->visit('/login')
+            ->see('Sign up')
+            ->click('Sign up')
+            ->seePageIs('/register');
+    }
+
+    public function testNormalRegistration()
+    {
+        $this->setSettings(['registration-enabled' => 'true']);
+        $user = factory(\BookStack\User::class)->make();
+
+        $this->visit('/register')
+            ->see('Sign Up')
+            ->type($user->name, '#name')
+            ->type($user->email, '#email')
+            ->type($user->password, '#password')
+            ->press('Create Account')
+            ->seePageIs('/')
+            ->see($user->name);
+    }
+
+    private function setSettings($settingsArray)
+    {
+        $settings = app('BookStack\Services\SettingService');
+        foreach($settingsArray as $key => $value) {
+            $settings->put($key, $value);
+        }
+    }
+
     public function testLogout()
     {
         $this->asAdmin()