Browse Source

Order person marriages by marriage_date

pull/21/head
Nafies Luthfi 7 years ago
parent
commit
3c34261b7b
  1. 4
      app/User.php
  2. 28
      tests/Unit/UserTest.php

4
app/User.php

@ -179,10 +179,10 @@ class User extends Authenticatable
public function marriages()
{
if ($this->gender_id == 1) {
return $this->hasMany(Couple::class, 'husband_id');
return $this->hasMany(Couple::class, 'husband_id')->orderBy('marriage_date');
}
return $this->hasMany(Couple::class, 'wife_id');
return $this->hasMany(Couple::class, 'wife_id')->orderBy('marriage_date');
}
public function siblings()

28
tests/Unit/UserTest.php

@ -47,6 +47,34 @@ class UserTest extends TestCase
}
/** @test */
public function male_person_marriages_ordered_by_marriage_date()
{
$husband = factory(User::class)->states('male')->create();
$wife1 = factory(User::class)->states('female')->create();
$wife2 = factory(User::class)->states('female')->create();
$husband->addWife($wife1, '1990-02-13');
$husband->addWife($wife2, '1999-04-21');
$marriages = $husband->fresh()->marriages;
$this->assertEquals('1990-02-13', $marriages->first()->marriage_date);
$this->assertEquals('1999-04-21', $marriages->last()->marriage_date);
}
/** @test */
public function female_person_marriages_ordered_by_marriage_date()
{
$wife = factory(User::class)->states('female')->create();
$husband1 = factory(User::class)->states('male')->create();
$husband2 = factory(User::class)->states('male')->create();
$wife->addHusband($husband1, '1980-02-13');
$wife->addHusband($husband2, '1989-04-21');
$marriages = $wife->fresh()->marriages;
$this->assertEquals('1980-02-13', $marriages->first()->marriage_date);
$this->assertEquals('1989-04-21', $marriages->last()->marriage_date);
}
/** @test */
public function user_can_ony_marry_same_person_once()
{
$husband = factory(User::class)->states('male')->create();

Loading…
Cancel
Save