Fixed Edit User

This commit is contained in:
bretto36 2016-06-16 18:59:31 -04:00
parent 2eb1fef4a2
commit 63f0f4ec1a
5 changed files with 162 additions and 102 deletions

View File

@ -33,7 +33,7 @@ class UserController extends Controller
public function postEditUser(Request $request)
{
$rules = [
'email' => ['required', 'email', 'exists:users,email,account_id,'.Auth::user()->account_id],
'email' => ['required', 'email', 'unique:users,email,' . Auth::user()->id . ',id,account_id,' . Auth::user()->account_id],
'new_password' => ['min:5', 'confirmed', 'required_with:password'],
'password' => 'passcheck',
'first_name' => ['required'],
@ -44,7 +44,7 @@ class UserController extends Controller
'email.email' => 'Please enter a valid E-mail address.',
'email.required' => 'E-mail address is required.',
'password.passcheck' => 'This password is incorrect.',
'email.exists' => 'This E-mail has is already in use.',
'email.unique' => 'This E-mail is already in use.',
'first_name.required' => 'Please enter your first name.',
];
@ -65,6 +65,7 @@ class UserController extends Controller
$user->first_name = $request->get('first_name');
$user->last_name = $request->get('last_name');
$user->email = $request->get('email');
$user->save();

View File

@ -1,89 +1,90 @@
<div role="dialog" class="modal fade" style="display: none;">
{!! Form::model($user, array('url' => route('postEditUser'), 'class' => 'ajax closeModalAfter')) !!}
<div class="modal-dialog account_settings">
<div class="modal-content">
<div class="modal-header text-center">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h3 class="modal-title">
<i class="ico-user"></i>
My Profile</h3>
</div>
<div class="modal-body">
@if(!Auth::user()->first_name)
<div class="alert alert-info">
<b>
Welcome to {{config('attendize.app_name')}}!
</b><br>
Before you continue please update your account with your name and a new password.
{!! Form::model($user, array('url' => route('postEditUser'), 'class' => 'ajax closeModalAfter')) !!}
{!! Form::password('meaningless_password') !!}
<div class="modal-dialog account_settings">
<div class="modal-content">
<div class="modal-header text-center">
<button type="button" class="close" data-dismiss="modal">&times;</button>
<h3 class="modal-title">
<i class="ico-user"></i>
My Profile</h3>
</div>
@endif
<div class="row">
<div class="col-md-6">
<div class="form-group">
{!! Form::label('first_name', 'First Name', array('class'=>'control-label required')) !!}
{!! Form::text('first_name', Input::old('first_name'),
array(
'class'=>'form-control'
)) !!}
<div class="modal-body">
@if(!Auth::user()->first_name)
<div class="alert alert-info">
<b>
Welcome to {{config('attendize.app_name')}}!
</b><br>
Before you continue please update your account with your name and a new password.
</div>
@endif
<div class="row">
<div class="col-md-6">
<div class="form-group">
{!! Form::label('first_name', 'First Name', array('class'=>'control-label required')) !!}
{!! Form::text('first_name', Input::old('first_name'),
array(
'class'=>'form-control'
)) !!}
</div>
</div>
<div class="col-md-6">
<div class="form-group">
{!! Form::label('last_name', 'Last Name', array('class'=>'control-label required')) !!}
{!! Form::text('last_name', Input::old('last_name'),
array(
'class'=>'form-control'
)) !!}
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
{!! Form::label('last_name', 'Last Name', array('class'=>'control-label required')) !!}
{!! Form::text('last_name', Input::old('last_name'),
array(
'class'=>'form-control'
)) !!}
<div class="row">
<div class="col-md-12">
<div class="form-group">
{!! Form::label('email', 'Email', array('class'=>'control-label required')) !!}
{!! Form::text('email', Input::old('email'),
array(
'class'=>'form-control '
)) !!}
</div>
</div>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="form-group">
{!! Form::label('email', 'Email', array('class'=>'control-label required')) !!}
{!! Form::text('email', Input::old('email'),
array(
'class'=>'form-control '
)) !!}
</div>
</div>
</div>
<div class="row more-options">
<div class="col-md-12">
<div class="row more-options">
<div class="col-md-12">
<div class="form-group">
{!! Form::label('password', 'Old Password', array('class'=>'control-label')) !!}
{!! Form::password('password',
array(
'class'=>'form-control'
)) !!}
</div>
<div class="form-group">
{!! Form::label('new_password', 'New Password', array('class'=>'control-label')) !!}
{!! Form::password('new_password',
array(
'class'=>'form-control'
)) !!}
</div>
<div class="form-group">
{!! Form::label('new_password_confirmation', 'Confirm New Password', array('class'=>'control-label')) !!}
{!! Form::password('new_password_confirmation',
array(
'class'=>'form-control'
)) !!}
<div class="form-group">
{!! Form::label('password', 'Old Password', array('class'=>'control-label')) !!}
{!! Form::password('password',
array(
'class'=>'form-control'
)) !!}
</div>
<div class="form-group">
{!! Form::label('new_password', 'New Password', array('class'=>'control-label')) !!}
{!! Form::password('new_password',
array(
'class'=>'form-control'
)) !!}
</div>
<div class="form-group">
{!! Form::label('new_password_confirmation', 'Confirm New Password', array('class'=>'control-label')) !!}
{!! Form::password('new_password_confirmation',
array(
'class'=>'form-control'
)) !!}
</div>
</div>
</div>
<a data-show-less-text='Hide Change Password' href="javascript:void(0);" class="in-form-link show-more-options">
Change Password
</a>
</div>
<div class="modal-footer">
{!! Form::button('Cancel', ['class'=>"btn modal-close btn-danger",'data-dismiss'=>'modal']) !!}
{!! Form::submit('Save Details', ['class' => 'btn btn-success pull-right']) !!}
</div>
<a data-show-less-text='Hide Change Password' href="javascript:void(0);" class="in-form-link show-more-options">
Change Password
</a>
</div>
<div class="modal-footer">
{!! Form::button('Cancel', ['class'=>"btn modal-close btn-danger",'data-dismiss'=>'modal']) !!}
{!! Form::submit('Save Details', ['class' => 'btn btn-success pull-right']) !!}
</div>
</div>
{!! Form::close() !!}
</div>
{!! Form::close() !!}
</div>

23
tests/UserLoginTest.php Normal file
View File

@ -0,0 +1,23 @@
<?php
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use App\Attendize\Utils;
class UserTest extends TestCase
{
/**
* Test login page is successful
*
* @return void
*/
public function testLogin()
{
$this->visit(route('login'))
->type($this->test_user_email, 'email')
->type($this->test_user_password, 'password')
->press('Login')
->seePageIs(route('showCreateOrganiser', ['first_run' => '1']));
}
}

33
tests/UserSignUpTest.php Normal file
View File

@ -0,0 +1,33 @@
<?php
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use App\Attendize\Utils;
class UserTest extends TestCase
{
/**
* Test sign up page is successful
*
* @return void
*/
public function testSignup()
{
$this->visit(route('showSignup'))
->type('Joe', 'first_name')
->type('Blogs', 'last_name')
->type($this->faker->email, 'email')
->type('password', 'password')
->type('password', 'password_confirmation');
// Add checkbox submission for attendize (dev/cloud) only
if (Utils::isAttendize()) {
$this->check('terms_agreed');
}
$this->press('Sign Up')
->seePageIs(route('login'));
}
}

View File

@ -7,37 +7,39 @@ use App\Attendize\Utils;
class UserTest extends TestCase
{
/**
* Test sign up page is successful
* Test user edit page is successful
*
* @return void
*/
public function testSignup()
public function test_edit_user_is_successful()
{
$this->visit(route('showSignup'))
->type('Joe', 'first_name')
->type('Blogs', 'last_name')
->type($this->faker->email, 'email')
->type('password', 'password')
->type('password', 'password_confirmation');
$this->actingAs($this->test_user);
// Add checkbox submission for attendize (dev/cloud) only
if (Utils::isAttendize()) {
$this->check('terms_agreed');
}
$organiser = factory(App\Models\Organiser::class)->create(['account_id' => 1]);
$this->press('Sign Up')
->seePageIs(route('login'));
$server = array('HTTP_X-Requested-With' => 'XMLHttpRequest');
$firstName = $this->faker->firstName;
$lastName = $this->faker->lastName;
$email = 'new@email.com.au';
$post = array(
'first_name' => $firstName,
'last_name' => $lastName,
'email' => $email,
);
$this->call('post', route('postEditUser'), $post, $server);
$this->seeJson([
'status' => 'success',
'message' => 'Successfully Edited User',
]);
$user = App\Models\User::find($this->test_user->id);
$this->assertEquals($firstName, $user->first_name);
$this->assertEquals($lastName, $user->last_name);
$this->assertEquals($email, $user->email);
}
public function testLogin()
{
$this->visit(route('login'))
->type($this->test_user_email, 'email')
->type($this->test_user_password, 'password')
->press('Login')
->seePageIs(route('showCreateOrganiser', ['first_run' => '1']));
}
}