32 changed files with 122 additions and 262 deletions
-
10app/Entities/Partners/Customer.php
-
7app/Entities/Partners/Vendor.php
-
12app/Entities/Payments/Payment.php
-
3app/Entities/Projects/Project.php
-
2app/Entities/Projects/ProjectsRepository.php
-
4app/Policies/Partners/VendorPolicy.php
-
4app/Policies/Projects/ProjectPolicy.php
-
6app/Providers/AuthServiceProvider.php
-
3database/factories/CustomerFactory.php
-
3database/factories/ProjectFactory.php
-
6database/factories/VendorFactory.php
-
1database/migrations/2016_07_06_110052_create_projects_table.php
-
1database/migrations/2017_10_26_134455_create_customers_table.php
-
1database/migrations/2017_11_01_185745_create_vendors_table.php
-
2tests/Feature/Api/ApiManageProjectsTest.php
-
6tests/Feature/InvoiceEntryTest.php
-
20tests/Feature/ManageFeaturesTest.php
-
19tests/Feature/ManageProjectsTest.php
-
23tests/Feature/ManageSubscriptionsTest.php
-
6tests/Feature/ManageTasksTest.php
-
23tests/Feature/Partners/ManageCustomersTest.php
-
20tests/Feature/Payments/ManagePaymentsTest.php
-
18tests/Feature/Payments/PaymentSearchTest.php
-
22tests/Feature/Projects/UploadFilesTest.php
-
61tests/Unit/Models/AgencyTest.php
-
15tests/Unit/Models/CustomerTest.php
-
7tests/Unit/Models/InvoiceTest.php
-
39tests/Unit/Models/ProjectTest.php
-
10tests/Unit/Models/VendorTest.php
-
18tests/Unit/Policies/AgencyPolicyTest.php
-
6tests/Unit/Policies/ProjectPolicyTest.php
-
6tests/Unit/Policies/VendorPolicyTest.php
@ -1,15 +1,11 @@ |
|||
<?php |
|||
|
|||
use App\Entities\Agencies\Agency; |
|||
use App\Entities\Partners\Vendor; |
|||
use Faker\Generator as Faker; |
|||
|
|||
$factory->define(Vendor::class, function (Faker $faker) { |
|||
|
|||
return [ |
|||
'name' => $faker->word, |
|||
'owner_id' => function () { |
|||
return factory(Agency::class)->create()->id; |
|||
}, |
|||
'name' => $faker->company, |
|||
]; |
|||
}); |
|||
@ -1,61 +0,0 @@ |
|||
<?php |
|||
|
|||
namespace Tests\Unit\Models; |
|||
|
|||
use App\Entities\Agencies\Agency; |
|||
use App\Entities\Projects\Project; |
|||
use App\Entities\Users\User; |
|||
use Illuminate\Support\Collection; |
|||
use Tests\TestCase; |
|||
|
|||
class AgencyTest extends TestCase |
|||
{ |
|||
/** @test */ |
|||
public function agency_has_an_owner() |
|||
{ |
|||
$agency = factory(Agency::class)->create(); |
|||
$this->assertInstanceOf(User::class, $agency->owner); |
|||
} |
|||
|
|||
/** @test */ |
|||
public function agency_has_many_projects() |
|||
{ |
|||
$agency = factory(Agency::class)->create(); |
|||
$project = factory(Project::class)->create(['owner_id' => $agency->id]); |
|||
|
|||
$this->assertInstanceOf(Collection::class, $agency->projects); |
|||
$this->assertInstanceOf(Project::class, $agency->projects->first()); |
|||
} |
|||
|
|||
/** @test */ |
|||
public function agency_can_has_many_workers() |
|||
{ |
|||
$agency = factory(Agency::class)->create(); |
|||
$workers = factory(User::class, 2)->create(); |
|||
|
|||
$agency->addWorker($workers[0]); |
|||
$agency->addWorker($workers[1]); |
|||
|
|||
$this->assertCount(2, $agency->workers); |
|||
$this->assertInstanceOf(Collection::class, $agency->workers); |
|||
$this->assertInstanceOf(User::class, $agency->workers->first()); |
|||
} |
|||
|
|||
/** @test */ |
|||
public function agency_can_remove_some_workers() |
|||
{ |
|||
$agency = factory(Agency::class)->create(); |
|||
$workers = factory(User::class, 2)->create(); |
|||
|
|||
$agency->addWorker($workers[0]); |
|||
$agency->addWorker($workers[1]); |
|||
|
|||
$this->assertCount(2, $agency->workers); |
|||
|
|||
$agency->removeWorker($workers[0]); |
|||
|
|||
$agency = $agency->fresh(); |
|||
$this->assertCount(1, $agency->workers); |
|||
$this->assertEquals($workers[1]->id, $agency->workers->first()->id); |
|||
} |
|||
} |
|||
@ -1,18 +0,0 @@ |
|||
<?php |
|||
|
|||
namespace Tests\Unit\Policies; |
|||
|
|||
use App\Entities\Agencies\Agency; |
|||
use Tests\TestCase as TestCase; |
|||
|
|||
class AgencyPolicyTest extends TestCase |
|||
{ |
|||
/** @test */ |
|||
public function user_can_manage_owned_agency() |
|||
{ |
|||
$user = $this->createUser(); |
|||
factory(Agency::class)->create(['owner_id' => $user->id]); |
|||
|
|||
$this->assertTrue($user->can('manage', $user->agency)); |
|||
} |
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue