mirror of
https://github.com/firefly-iii/firefly-iii.git
synced 2025-02-25 18:45:27 -06:00
Covered everything in the user controller except configuration controlled statements.
This commit is contained in:
parent
578298580e
commit
7e96054dc2
@ -33,7 +33,7 @@ class UserController extends BaseController
|
||||
Auth::logout();
|
||||
Session::flush();
|
||||
|
||||
return Redirect::route('index');
|
||||
return Redirect::route('login');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -67,9 +67,6 @@ class UserController extends BaseController
|
||||
*/
|
||||
public function postRegister()
|
||||
{
|
||||
if (Config::get('auth.allow_register') !== true) {
|
||||
return View::make('error')->with('message', 'Not possible');
|
||||
}
|
||||
|
||||
/** @var \FireflyIII\Database\User\User $repository */
|
||||
$repository = App::make('FireflyIII\Database\User\User');
|
||||
@ -136,9 +133,6 @@ class UserController extends BaseController
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
if (Config::get('auth.allow_register') !== true) {
|
||||
return View::make('error')->with('message', 'Not possible');
|
||||
}
|
||||
|
||||
return View::make('user.register');
|
||||
}
|
||||
|
@ -13,6 +13,8 @@ class DefaultUserSeeder extends Seeder
|
||||
User::create(['email' => 'thegrumpydictator@gmail.com', 'password' => 'james', 'reset' => null, 'remember_token' => null]);
|
||||
User::create(['email' => 'acceptance@example.com', 'password' => 'acceptance', 'reset' => null, 'remember_token' => null]);
|
||||
User::create(['email' => 'functional@example.com', 'password' => 'functional', 'reset' => null, 'remember_token' => null]);
|
||||
User::create(['email' => 'reset@example.com', 'password' => 'functional', 'reset' => 'okokokokokokokokokokokokokokokok', 'remember_token' => null]);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -94,3 +94,11 @@ Route::filter(
|
||||
}
|
||||
}
|
||||
);
|
||||
|
||||
Route::filter(
|
||||
'allow-register', function () {
|
||||
if (Config::get('auth.allow_register') !== true) {
|
||||
return View::make('error')->with('message', 'Not possible');
|
||||
}
|
||||
}
|
||||
);
|
||||
|
@ -43,7 +43,8 @@ class User
|
||||
$user->reset = \Str::random(32);
|
||||
$user->password = \Hash::make(\Str::random(12));
|
||||
|
||||
if (!$user->save()) {
|
||||
// validate user:
|
||||
if (!$user->isValid()) {
|
||||
\Log::error('Invalid user with data: ' . isset($data['email']) ? $data['email'] : '(no email!)');
|
||||
\Session::flash('error', 'Input invalid, please try again: ' . $user->getErrors()->first());
|
||||
|
||||
|
@ -49,11 +49,14 @@ class Registration implements RegistrationInterface
|
||||
$email = $user->email;
|
||||
|
||||
$data = ['reset' => $reset];
|
||||
\Mail::send(
|
||||
['emails.user.remindme-html', 'emails.user.remindme-text'], $data, function ($message) use ($email) {
|
||||
$message->to($email, $email)->subject('Forgot your password?');
|
||||
try {
|
||||
\Mail::send(
|
||||
['emails.user.remindme-html', 'emails.user.remindme-text'], $data, function ($message) use ($email) {
|
||||
$message->to($email, $email)->subject('Forgot your password?');
|
||||
}
|
||||
);
|
||||
} catch (Swift_RfcComplianceException $e) {
|
||||
}
|
||||
);
|
||||
|
||||
|
||||
}
|
||||
@ -72,11 +75,14 @@ class Registration implements RegistrationInterface
|
||||
$email = $user->email;
|
||||
$data = ['reset' => $reset];
|
||||
|
||||
\Mail::send(
|
||||
['emails.user.verify-html', 'emails.user.verify-text'], $data, function ($message) use ($email) {
|
||||
$message->to($email, $email)->subject('Verify your e-mail address.');
|
||||
try {
|
||||
\Mail::send(
|
||||
['emails.user.verify-html', 'emails.user.verify-text'], $data, function ($message) use ($email) {
|
||||
$message->to($email, $email)->subject('Verify your e-mail address.');
|
||||
}
|
||||
);
|
||||
} catch (Swift_RfcComplianceException $e) {
|
||||
}
|
||||
);
|
||||
}
|
||||
|
||||
}
|
@ -16,7 +16,7 @@ class User extends Eloquent implements UserInterface, RemindableInterface
|
||||
use UserTrait, RemindableTrait, ValidatingTrait;
|
||||
|
||||
|
||||
public static $rules
|
||||
protected $rules
|
||||
= [
|
||||
'email' => 'required|email|unique:users,email',
|
||||
'password' => 'required|between:60,60',
|
||||
|
@ -366,7 +366,7 @@ Route::group(
|
||||
['before' => 'guest'], function () {
|
||||
// user controller
|
||||
Route::get('/login', ['uses' => 'UserController@login', 'as' => 'login']);
|
||||
Route::get('/register', ['uses' => 'UserController@register', 'as' => 'register']);
|
||||
Route::get('/register', ['uses' => 'UserController@register', 'as' => 'register','before' => 'allow-register']);
|
||||
Route::get('/reset/{reset}', ['uses' => 'UserController@reset', 'as' => 'reset']);
|
||||
Route::get('/remindme', ['uses' => 'UserController@remindme', 'as' => 'remindme']);
|
||||
|
||||
@ -380,7 +380,7 @@ Route::group(
|
||||
|
||||
// user controller
|
||||
Route::post('/login', ['uses' => 'UserController@postLogin', 'as' => 'login.post']);
|
||||
Route::post('/register', ['uses' => 'UserController@postRegister', 'as' => 'register.post']);
|
||||
Route::post('/register', ['uses' => 'UserController@postRegister', 'as' => 'register.post','before' => 'allow-register']);
|
||||
Route::post('/remindme', ['uses' => 'UserController@postRemindme', 'as' => 'remindme.post']);
|
||||
}
|
||||
);
|
@ -7,7 +7,7 @@
|
||||
<h3 class="panel-title">Firefly III — Reset your password</h3>
|
||||
</div>
|
||||
<div class="panel-body">
|
||||
{{Form::open()}}
|
||||
{{Form::open(['id' => 'remindme'])}}
|
||||
<div class="form-group">
|
||||
<label for="inputEmail">Email address</label>
|
||||
<input type="email" class="form-control" id="inputEmail" name="email" placeholder="Enter email">
|
||||
|
@ -53,18 +53,11 @@ class UserControllerCest
|
||||
*/
|
||||
public function logout(FunctionalTester $I)
|
||||
{
|
||||
$I->amLoggedAs(['email' => 'thegrumpydictator@gmail.com', 'password' => 'james']);
|
||||
$I->wantTo('logout');
|
||||
#$I->amOnPage('/logout');
|
||||
#$I->am
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FunctionalTester $I
|
||||
*/
|
||||
public function postLogin(FunctionalTester $I)
|
||||
{
|
||||
$I->wantTo('post login');
|
||||
$I->amOnRoute('login');
|
||||
$I->amOnPage('/');
|
||||
$I->click('Logout');
|
||||
$I->see('Firefly III — Sign In');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -72,14 +65,23 @@ class UserControllerCest
|
||||
*/
|
||||
public function postRegister(FunctionalTester $I)
|
||||
{
|
||||
// @codingStandardsIgnoreStart
|
||||
$I->wantTo('post-register a new account');
|
||||
$I->amOnPage('/register');
|
||||
$token = $I->grabValueFrom('input[name=_token]');
|
||||
$I->submitForm('#register', ['email' => 'noreply@gmail.com', '_token' => $token]);
|
||||
$I->submitForm('#register', ['email' => 'noreply@gmail.com']);
|
||||
$I->see('Password sent!');
|
||||
$I->seeRecord('users', ['email' => 'noreply@gmail.com']);
|
||||
// @codingStandardsIgnoreEnd
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FunctionalTester $I
|
||||
*/
|
||||
public function postRegisterFail(FunctionalTester $I)
|
||||
{
|
||||
$I->wantTo('post-register a new account and fail');
|
||||
$I->amOnPage('/register');
|
||||
$I->submitForm('#register', ['email' => 'XXxxxxx']);
|
||||
$I->see('Input invalid, please try again: The email must be a valid email address.');
|
||||
$I->dontseeRecord('users', ['email' => 'XXxxxxx']);
|
||||
}
|
||||
|
||||
/**
|
||||
@ -89,6 +91,19 @@ class UserControllerCest
|
||||
{
|
||||
$I->wantTo('get a password reminder');
|
||||
$I->amOnRoute('remindme');
|
||||
$I->submitForm('#remindme', ['email' => 'functional@example.com']);
|
||||
$I->see('You\'re about to get an e-mail.');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FunctionalTester $I
|
||||
*/
|
||||
public function postRemindmeFail(FunctionalTester $I)
|
||||
{
|
||||
$I->wantTo('get a password reminder and fail');
|
||||
$I->amOnRoute('remindme');
|
||||
$I->submitForm('#remindme', ['email' => 'abcdee']);
|
||||
$I->see('No good!');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -109,6 +124,17 @@ class UserControllerCest
|
||||
{
|
||||
$I->wantTo('reminded of my password');
|
||||
$I->amOnRoute('remindme');
|
||||
$I->see('Firefly III — Reset your password');
|
||||
}
|
||||
|
||||
/**
|
||||
* @param FunctionalTester $I
|
||||
*/
|
||||
public function resetFail(FunctionalTester $I)
|
||||
{
|
||||
$I->wantTo('reset my password and fail');
|
||||
$I->amOnPage('/reset/123');
|
||||
$I->see('Yo no hablo reset code!');
|
||||
}
|
||||
|
||||
/**
|
||||
@ -117,7 +143,8 @@ class UserControllerCest
|
||||
public function reset(FunctionalTester $I)
|
||||
{
|
||||
$I->wantTo('reset my password');
|
||||
$I->amOnRoute('reset');
|
||||
$I->amOnPage('/reset/okokokokokokokokokokokokokokokok');
|
||||
$I->see('You\'re about to get an e-mail.');
|
||||
}
|
||||
|
||||
}
|
Loading…
Reference in New Issue
Block a user