diff --git a/app/Http/Controllers/UsersController.php b/app/Http/Controllers/UsersController.php index 0259bac..a261086 100644 --- a/app/Http/Controllers/UsersController.php +++ b/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(); diff --git a/tests/Feature/UsersProfileTest.php b/tests/Feature/UsersProfileTest.php index 94be8ec..6d8e4e1 100644 --- a/tests/Feature/UsersProfileTest.php +++ b/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');