Browse Source

Fixed #9 for invalid password on profile update

System saving the email field as hashed password
This commit fills password value with correct password field
pull/16/head
Nafies Luthfi 8 years ago
parent
commit
92a1bea554
  1. 8
      app/Http/Controllers/UsersController.php
  2. 40
      tests/Feature/UsersProfileTest.php

8
app/Http/Controllers/UsersController.php

@ -2,10 +2,10 @@
namespace App\Http\Controllers;
use App\Couple;
use Storage;
use App\User;
use App\Couple;
use Illuminate\Http\Request;
use Storage;
class UsersController extends Controller
{
@ -149,8 +149,8 @@ class UsersController extends Controller
$user->city = $request->get('city');
$user->email = $request->get('email');
if ($request->get('email')) {
$user->password = bcrypt($request->get('email'));
if ($request->get('password')) {
$user->password = bcrypt($request->get('password'));
}
$user->save();

40
tests/Feature/UsersProfileTest.php

@ -2,10 +2,10 @@
namespace Tests\Feature;
use App\User;
use Illuminate\Foundation\Testing\RefreshDatabase;
use Storage;
use App\User;
use Tests\TestCase;
use Illuminate\Foundation\Testing\RefreshDatabase;
class UsersProfileTest extends TestCase
{
@ -56,6 +56,42 @@ class UsersProfileTest extends TestCase
}
/** @test */
public function manager_can_add_login_account_on_a_user()
{
$manager = $this->loginAsUser();
$user = factory(User::class)->create(['manager_id' => $manager->id]);
$this->visit(route('users.edit', $user->id));
$this->seePageIs(route('users.edit', $user->id));
$this->submitForm(trans('app.update'), [
'email' => 'user@mail.com',
'password' => 'Secr3t',
]);
$user = $user->fresh();
$this->assertEquals('user@mail.com', $user->email);
$this->assertTrue(app('hash')->check('Secr3t', $user->password));
}
/** @test */
public function manager_can_add_user_email_without_a_password()
{
$manager = $this->loginAsUser();
$user = factory(User::class)->create(['manager_id' => $manager->id]);
$this->visit(route('users.edit', $user->id));
$this->seePageIs(route('users.edit', $user->id));
$this->submitForm(trans('app.update'), [
'email' => 'user@mail.com',
'password' => '',
]);
$user = $user->fresh();
$this->assertEquals('user@mail.com', $user->email);
$this->assertNull($user->password);
}
/** @test */
public function user_can_upload_their_own_photo()
{
Storage::fake('avatars');

Loading…
Cancel
Save