Browse Source

Added DatabaseMigrateSeeds trait for testing

Update all test case classes to use new DatabaseMigrateSeeds trait
pull/1/head
Nafies Luthfi 9 years ago
parent
commit
d8aa13e56b
  1. 1
      composer.json
  2. 13
      tests/TestCase.php
  3. 23
      tests/Traits/DatabaseMigrateSeeds.php
  4. 5
      tests/api/ApiEventsTest.php
  5. 5
      tests/api/ApiManageProjectsTest.php
  6. 5
      tests/auth/ManageUsersTest.php
  7. 5
      tests/auth/MemberChangePasswordTest.php
  8. 5
      tests/auth/MemberRegistrationAndLoginTest.php
  9. 8
      tests/auth/MemberResetPasswordTest.php
  10. 5
      tests/functional/ManageFeaturesTest.php
  11. 5
      tests/functional/ManagePaymentsTest.php
  12. 5
      tests/functional/ManageProjectsTest.php
  13. 5
      tests/functional/ManageSubscriptionsTest.php
  14. 5
      tests/functional/ManageTasksTest.php

1
composer.json

@ -35,6 +35,7 @@
},
"autoload-dev": {
"classmap": [
"tests/Traits",
"tests/TestCase.php"
]
},

13
tests/TestCase.php

@ -5,6 +5,8 @@ use App\Entities\Users\User;
class TestCase extends Illuminate\Foundation\Testing\TestCase
{
use DatabaseMigrateSeeds;
/**
* The base URL to use while testing the application.
*
@ -27,6 +29,17 @@ class TestCase extends Illuminate\Foundation\Testing\TestCase
return $app;
}
protected function setUpTraits()
{
parent::setUpTraits();
$uses = array_flip(class_uses_recursive(static::class));
if (isset($uses[DatabaseMigrateSeeds::class])) {
$this->runDatabaseMigrateSeeds();
}
}
protected function adminUserSigningIn()
{
$user = factory(User::class)->create();

23
tests/Traits/DatabaseMigrateSeeds.php

@ -0,0 +1,23 @@
<?php
use Illuminate\Contracts\Console\Kernel;
trait DatabaseMigrateSeeds
{
/**
* Define hooks to migrate the database before and after each test.
*
* @return void
*/
public function runDatabaseMigrateSeeds()
{
$this->artisan('migrate');
$this->artisan('db:seed');
$this->app[Kernel::class]->setArtisan(null);
$this->beforeApplicationDestroyed(function () {
$this->artisan('migrate:rollback');
});
}
}

5
tests/api/ApiEventsTest.php

@ -2,14 +2,9 @@
use App\Entities\Users\Event;
use App\Entities\Users\User;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ApiEventsTest extends TestCase
{
use DatabaseMigrations;
/** @test */
public function it_can_get_all_existing_events()
{

5
tests/api/ApiManageProjectsTest.php

@ -2,14 +2,9 @@
use App\Entities\Projects\Project;
use App\Entities\Users\User;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ApiManageProjectsTest extends TestCase
{
use DatabaseMigrations;
/** @test */
public function user_can_get_project_lists()
{

5
tests/auth/ManageUsersTest.php

@ -1,14 +1,9 @@
<?php
use App\Entities\Users\User;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ManageUsersTest extends TestCase
{
use DatabaseMigrations;
/** @test */
public function admin_can_insert_new_user()
{

5
tests/auth/MemberChangePasswordTest.php

@ -1,14 +1,9 @@
<?php
use App\Entities\Users\User;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class MemberChangePasswordTest extends TestCase
{
use DatabaseMigrations;
/** @test */
public function member_can_change_password()
{

5
tests/auth/MemberRegistrationAndLoginTest.php

@ -1,14 +1,9 @@
<?php
use App\Entities\Users\User;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class MemberRegistrationAndLoginTest extends TestCase
{
use DatabaseMigrations;
/** @test */
public function registration_validation()
{

8
tests/auth/MemberResetPasswordTest.php

@ -1,17 +1,13 @@
<?php
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use App\Entities\Users\User;
class MemberResetPasswordTest extends TestCase
{
use DatabaseMigrations;
/** @test */
public function member_can_reset_password_by_their_email()
{
$user = factory(App\Entities\Users\User::class)->create();
$user = factory(User::class)->create();
// Reset Request
$this->visit(route('auth.reset-request'));

5
tests/functional/ManageFeaturesTest.php

@ -4,14 +4,9 @@ use App\Entities\Projects\Feature;
use App\Entities\Projects\Project;
use App\Entities\Projects\Task;
use App\Entities\Users\User;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ManageFeaturesTest extends TestCase
{
use DatabaseMigrations;
/** @test */
public function admin_can_entry_feature()
{

5
tests/functional/ManagePaymentsTest.php

@ -3,14 +3,9 @@
use App\Entities\Payments\Payment;
use App\Entities\Projects\Project;
use App\Entities\Users\User;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ManagePaymentsTest extends TestCase
{
use DatabaseMigrations;
/** @test */
public function admin_can_entry_project_a_cashin_payment()
{

5
tests/functional/ManageProjectsTest.php

@ -6,14 +6,9 @@ use App\Entities\Projects\Project;
use App\Entities\Projects\Task;
use App\Entities\Users\Role;
use App\Entities\Users\User;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ManageProjectsTest extends TestCase
{
use DatabaseMigrations;
/** @test */
public function admin_can_input_new_project_with_existing_customer()
{

5
tests/functional/ManageSubscriptionsTest.php

@ -3,14 +3,9 @@
use App\Entities\Projects\Project;
use App\Entities\Subscriptions\Subscription;
use App\Entities\Users\User;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ManageSubscriptionsTest extends TestCase
{
use DatabaseMigrations;
/** @test */
public function admin_can_entry_subscription()
{

5
tests/functional/ManageTasksTest.php

@ -4,14 +4,9 @@ use App\Entities\Projects\Feature;
use App\Entities\Projects\Project;
use App\Entities\Projects\Task;
use App\Entities\Users\User;
use Illuminate\Foundation\Testing\DatabaseMigrations;
use Illuminate\Foundation\Testing\DatabaseTransactions;
use Illuminate\Foundation\Testing\WithoutMiddleware;
class ManageTasksTest extends TestCase
{
use DatabaseMigrations;
/** @test */
public function admin_can_entry_task()
{

Loading…
Cancel
Save