Browse Source

Refactor year of birth and year of death entry

pull/66/head
Nafies Luthfi 5 years ago
parent
commit
4f5d1ece02
  1. 41
      app/Http/Requests/Users/UpdateRequest.php
  2. 38
      tests/Feature/UsersProfileTest.php

41
app/Http/Requests/Users/UpdateRequest.php

@ -54,28 +54,41 @@ class UpdateRequest extends FormRequest
{
$formData = parent::validated();
if (isset($formData['dod'])) {
if ($formData['dod']) {
$formData['yod'] = substr($formData['dod'], 0, 4);
$formData['yod'] = $this->getYod($formData);
$formData['yob'] = $this->getYob($formData);
if (isset($formData['password']) && $formData['password']) {
$formData['password'] = bcrypt($formData['password']);
} else {
$formData['yod'] = $formData['yod'];
unset($formData['password']);
}
return $formData;
}
if (isset($formData['dob'])) {
if ($formData['dob']) {
$formData['yob'] = substr($formData['dob'], 0, 4);
} else {
$formData['yob'] = $formData['yob'];
private function getYob($formData)
{
if (isset($formData['yob'])) {
return $formData['yob'];
}
if (isset($formData['dob']) && $formData['dob']) {
return substr($formData['dob'], 0, 4);
}
if (isset($formData['password']) && $formData['password']) {
$formData['password'] = bcrypt($formData['password']);
} else {
unset($formData['password']);
return;
}
return $formData;
private function getYod($formData)
{
if (isset($formData['yod'])) {
return $formData['yod'];
}
if (isset($formData['dod']) && $formData['dod']) {
return substr($formData['dod'], 0, 4);
}
return;
}
}

38
tests/Feature/UsersProfileTest.php

@ -61,6 +61,25 @@ class UsersProfileTest extends TestCase
}
/** @test */
public function user_can_update_yob_only()
{
$user = $this->loginAsUser();
$this->visit(route('users.edit', $user->id));
$this->seePageIs(route('users.edit', $user->id));
$this->submitForm(trans('app.update'), [
'dob' => '',
'yob' => '2003',
]);
$this->seeInDatabase('users', [
'id' => $user->id,
'dob' => null,
'yob' => '2003',
]);
}
/** @test */
public function user_can_edit_contact_address()
{
$user = $this->loginAsUser();
@ -120,6 +139,25 @@ class UsersProfileTest extends TestCase
}
/** @test */
public function user_can_update_yod_only()
{
$user = $this->loginAsUser();
$this->visit(route('users.edit', [$user->id, 'tab' => 'death']));
$this->seePageIs(route('users.edit', [$user->id, 'tab' => 'death']));
$this->submitForm(trans('app.update'), [
'dod' => '',
'yod' => '2003',
]);
$this->seeInDatabase('users', [
'id' => $user->id,
'dod' => null,
'yod' => '2003',
]);
}
/** @test */
public function manager_can_add_login_account_on_a_user()
{
$manager = $this->loginAsUser();

Loading…
Cancel
Save