Browse Source

Return payment customer relation

pull/1/head
Nafies Luthfi 8 years ago
parent
commit
b3172d303d
  1. 3
      app/Entities/Payments/Payment.php
  2. 41
      database/factories/PaymentFactory.php
  3. 10
      tests/Unit/Models/PaymentTest.php

3
app/Entities/Payments/Payment.php

@ -6,7 +6,6 @@ use App\Entities\Partners\Customer;
use App\Entities\Partners\Vendor; use App\Entities\Partners\Vendor;
use App\Entities\Payments\PaymentPresenter; use App\Entities\Payments\PaymentPresenter;
use App\Entities\Projects\Project; use App\Entities\Projects\Project;
use App\Entities\Users\User;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Laracasts\Presenter\PresentableTrait; use Laracasts\Presenter\PresentableTrait;
@ -25,7 +24,7 @@ class Payment extends Model
public function customer() public function customer()
{ {
return $this->belongsTo(User::class, 'customer_id');
return $this->belongsTo(Customer::class, 'customer_id');
} }
public function partner() public function partner()

41
database/factories/PaymentFactory.php

@ -1,7 +1,6 @@
<?php <?php
use App\Entities\Partners\Customer; use App\Entities\Partners\Customer;
use App\Entities\Partners\Vendor;
use App\Entities\Payments\Payment; use App\Entities\Payments\Payment;
use App\Entities\Projects\Project; use App\Entities\Projects\Project;
use App\Entities\Users\User; use App\Entities\Users\User;
@ -21,46 +20,8 @@ $factory->define(Payment::class, function (Faker $faker) {
'owner_id' => function () { 'owner_id' => function () {
return factory(User::class)->create()->id; return factory(User::class)->create()->id;
}, },
'partner_id' => function () {
'customer_id' => function () {
return factory(Customer::class)->create()->id; return factory(Customer::class)->create()->id;
}, },
]; ];
}); });
$factory->defineAs(Payment::class, 'income', function (Faker $faker) {
return [
'project_id' => function () {
return factory(Project::class)->create()->id;
},
'amount' => 10000,
'in_out' => 1,
'type_id' => rand(1, 3),
'date' => $faker->dateTimeBetween('-1 year', '-1 month')->format('Y-m-d'),
'description' => $faker->paragraph,
'owner_id' => function () {
return factory(User::class)->create()->id;
},
'partner_id' => function () {
return factory(Customer::class)->create()->id;
},
];
});
$factory->defineAs(Payment::class, 'expanse', function (Faker $faker) {
return [
'project_id' => function () {
return factory(Project::class)->create()->id;
},
'amount' => 10000,
'in_out' => 2,
'type_id' => rand(1, 3),
'date' => $faker->dateTimeBetween('-1 year', '-1 month')->format('Y-m-d'),
'description' => $faker->paragraph,
'owner_id' => function () {
return factory(User::class)->create()->id;
},
'partner_id' => function () {
return factory(Vendor::class)->create()->id;
},
];
});

10
tests/Unit/Models/PaymentTest.php

@ -3,19 +3,15 @@
namespace Tests\Unit\Models; namespace Tests\Unit\Models;
use App\Entities\Partners\Customer; use App\Entities\Partners\Customer;
use App\Entities\Partners\Vendor;
use App\Entities\Payments\Payment; use App\Entities\Payments\Payment;
use Tests\TestCase; use Tests\TestCase;
class PaymentTest extends TestCase class PaymentTest extends TestCase
{ {
/** @test */ /** @test */
public function it_has_partner_relation()
public function it_has_customer_relation()
{ {
$payment = factory(Payment::class, 'income')->create(['in_out' => 1]);
$this->assertTrue($payment->partner instanceof Customer);
$payment = factory(Payment::class, 'expanse')->create(['in_out' => 0]);
$this->assertTrue($payment->partner instanceof Vendor);
$payment = factory(Payment::class)->create();
$this->assertTrue($payment->customer instanceof Customer);
} }
} }
Loading…
Cancel
Save