Dan Brown

Added some basic registration testing

...@@ -155,6 +155,7 @@ class AuthController extends Controller ...@@ -155,6 +155,7 @@ class AuthController extends Controller
155 return redirect('/register/confirm'); 155 return redirect('/register/confirm');
156 } 156 }
157 157
158 + $newUser->email_confirmed = true;
158 auth()->login($newUser); 159 auth()->login($newUser);
159 session()->flash('success', 'Thanks for signing up! You are now registered and signed in.'); 160 session()->flash('success', 'Thanks for signing up! You are now registered and signed in.');
160 return redirect($this->redirectPath()); 161 return redirect($this->redirectPath());
......
...@@ -39,4 +39,4 @@ $factory->define(BookStack\Page::class, function ($faker) { ...@@ -39,4 +39,4 @@ $factory->define(BookStack\Page::class, function ($faker) {
39 'name' => $faker->sentence, 39 'name' => $faker->sentence,
40 'html' => '<p>' . implode('</p>', $faker->paragraphs(5)) . '</p>' 40 'html' => '<p>' . implode('</p>', $faker->paragraphs(5)) . '</p>'
41 ]; 41 ];
42 -});
...\ No newline at end of file ...\ No newline at end of file
42 +});
......
...@@ -20,6 +20,48 @@ class AuthTest extends TestCase ...@@ -20,6 +20,48 @@ class AuthTest extends TestCase
20 ->see('BookStack'); 20 ->see('BookStack');
21 } 21 }
22 22
23 + public function testPublicViewing()
24 + {
25 + $settings = app('BookStack\Services\SettingService');
26 + $settings->put('app-public', 'true');
27 + $this->visit('/')
28 + ->seePageIs('/')
29 + ->see('Sign In');
30 + }
31 +
32 + public function testRegistrationShowing()
33 + {
34 + // Ensure registration form is showing
35 + $this->setSettings(['registration-enabled' => 'true']);
36 + $this->visit('/login')
37 + ->see('Sign up')
38 + ->click('Sign up')
39 + ->seePageIs('/register');
40 + }
41 +
42 + public function testNormalRegistration()
43 + {
44 + $this->setSettings(['registration-enabled' => 'true']);
45 + $user = factory(\BookStack\User::class)->make();
46 +
47 + $this->visit('/register')
48 + ->see('Sign Up')
49 + ->type($user->name, '#name')
50 + ->type($user->email, '#email')
51 + ->type($user->password, '#password')
52 + ->press('Create Account')
53 + ->seePageIs('/')
54 + ->see($user->name);
55 + }
56 +
57 + private function setSettings($settingsArray)
58 + {
59 + $settings = app('BookStack\Services\SettingService');
60 + foreach($settingsArray as $key => $value) {
61 + $settings->put($key, $value);
62 + }
63 + }
64 +
23 public function testLogout() 65 public function testLogout()
24 { 66 {
25 $this->asAdmin() 67 $this->asAdmin()
......