Browse Source

Added add user husband and wife from existing user

pull/3/head
Nafies Luthfi 9 years ago
parent
commit
b4c518c7c8
  1. 30
      app/Http/Controllers/FamilyActionsController.php
  2. 2
      resources/views/home.blade.php
  3. 45
      tests/Feature/ManageUserFamiliesTest.php

30
app/Http/Controllers/FamilyActionsController.php

@ -89,13 +89,18 @@ class FamilyActionsController extends Controller
public function addWife(Request $request, User $user)
{
$this->validate($request, [
'set_wife' => 'required|string|max:255',
'set_wife_id' => 'nullable',
'set_wife' => 'required_without:set_wife_id|max:255',
]);
$wife = new User;
$wife->name = $request->get('set_wife');
$wife->nickname = $request->get('set_wife');
$wife->gender_id = 2;
if ($request->get('set_wife_id')) {
$wife = User::findOrFail($request->get('set_wife_id'));
} else {
$wife = new User;
$wife->name = $request->get('set_wife');
$wife->nickname = $request->get('set_wife');
$wife->gender_id = 2;
}
$user->addWife($wife);
@ -105,13 +110,18 @@ class FamilyActionsController extends Controller
public function addHusband(Request $request, User $user)
{
$this->validate($request, [
'set_husband' => 'required|string|max:255',
'set_husband_id' => 'nullable',
'set_husband' => 'required_without:set_husband_id|max:255',
]);
$husband = new User;
$husband->name = $request->get('set_husband');
$husband->nickname = $request->get('set_husband');
$husband->gender_id = 1;
if ($request->get('set_husband_id')) {
$husband = User::findOrFail($request->get('set_husband_id'));
} else {
$husband = new User;
$husband->name = $request->get('set_husband');
$husband->nickname = $request->get('set_husband');
$husband->gender_id = 1;
}
$user->addHusband($husband);

2
resources/views/home.blade.php

@ -82,6 +82,7 @@
</ul>
@else
{{ Form::open(['route' => ['family-actions.add-wife', $currentUser->id]]) }}
{!! FormField::select('set_wife_id', $femalePersonList, ['label' => false]) !!}
<div class="input-group">
{{ Form::text('set_wife', null, ['class' => 'form-control input-sm']) }}
<span class="input-group-btn">
@ -104,6 +105,7 @@
</ul>
@else
{{ Form::open(['route' => ['family-actions.add-husband', $currentUser->id]]) }}
{!! FormField::select('set_husband_id', $malePersonList, ['label' => false]) !!}
<div class="input-group">
{{ Form::text('set_husband', null, ['class' => 'form-control input-sm']) }}
<span class="input-group-btn">

45
tests/Feature/ManageUserFamiliesTest.php

@ -111,7 +111,6 @@ class ManageUserFamiliesTest extends TestCase
$this->seePageIs(route('profile'));
$this->seeElement('input', ['name' => 'set_wife']);
$this->submitForm('set_wife_button', [
'set_wife' => 'Nama Istri',
]);
@ -192,4 +191,48 @@ class ManageUserFamiliesTest extends TestCase
$this->assertEquals($mother->nickname, $user->fresh()->mother->nickname);
}
/** @test */
public function user_can_pick_wife_from_existing_user()
{
$user = $this->loginAsUser(['gender_id' => 1]);
$wife = factory(User::class)->states('female')->create();
$this->visit(route('profile'));
$this->seePageIs(route('profile'));
$this->seeElement('input', ['name' => 'set_wife']);
$this->seeElement('select', ['name' => 'set_wife_id']);
$this->submitForm('set_wife_button', [
'set_wife' => '',
'set_wife_id' => $wife->id,
]);
$this->seeInDatabase('couples', [
'husband_id' => $user->id,
'wife_id' => $wife->id,
]);
}
/** @test */
public function user_can_pick_husband_from_existing_user()
{
$user = $this->loginAsUser(['gender_id' => 2]);
$husband = factory(User::class)->states('male')->create();
$this->visit(route('profile'));
$this->seePageIs(route('profile'));
$this->seeElement('input', ['name' => 'set_husband']);
$this->seeElement('select', ['name' => 'set_husband_id']);
$this->submitForm('set_husband_button', [
'set_husband' => '',
'set_husband_id' => $husband->id,
]);
$this->seeInDatabase('couples', [
'husband_id' => $husband->id,
'wife_id' => $user->id,
]);
}
}
Loading…
Cancel
Save