From dcf3e6e1a0adf991615249419459b5856b211f90 Mon Sep 17 00:00:00 2001 From: Bubka <858858+Bubka@users.noreply.github.com> Date: Thu, 23 May 2019 21:27:27 +0200 Subject: [PATCH] in memory db for testing --- .env.testing | 40 ++++++++++++++++++++++++++++++++++++++++ .env.travis | 2 +- .travis.yml | 2 -- config/database.php | 7 +++++++ tests/Unit/APITest.php | 20 ++++++++++++++++++++ 5 files changed, 68 insertions(+), 3 deletions(-) create mode 100644 .env.testing diff --git a/.env.testing b/.env.testing new file mode 100644 index 00000000..7872fba9 --- /dev/null +++ b/.env.testing @@ -0,0 +1,40 @@ +APP_NAME=2FAuth +APP_ENV=testing +APP_KEY=base64:pdjaSqs7dDu8SdYCQzsayBAqeMC+85fmo3bpeBCCT94= +APP_DEBUG=true +APP_URL=http://localhost + +LOG_CHANNEL=stack + +DB_CONNECTION=testing +DB_DATABASE=:memory: + +BROADCAST_DRIVER=log +CACHE_DRIVER=array +QUEUE_CONNECTION=sync +SESSION_DRIVER=array +SESSION_LIFETIME=120 + +REDIS_HOST=127.0.0.1 +REDIS_PASSWORD=null +REDIS_PORT=6379 + +MAIL_DRIVER=smtp +MAIL_HOST=smtp.mailtrap.io +MAIL_PORT=2525 +MAIL_USERNAME=null +MAIL_PASSWORD=null +MAIL_ENCRYPTION=null + +AWS_ACCESS_KEY_ID= +AWS_SECRET_ACCESS_KEY= +AWS_DEFAULT_REGION=us-east-1 +AWS_BUCKET= + +PUSHER_APP_ID= +PUSHER_APP_KEY= +PUSHER_APP_SECRET= +PUSHER_APP_CLUSTER=mt1 + +MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}" +MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}" diff --git a/.env.travis b/.env.travis index 7de28349..00bd9e77 100644 --- a/.env.travis +++ b/.env.travis @@ -1,7 +1,7 @@ APP_ENV=testing APP_KEY= -DB_CONNECTION=sqlite +DB_CONNECTION=testing DB_DATABASE=:memory: CACHE_DRIVER=array diff --git a/.travis.yml b/.travis.yml index f5d82ea4..70777ffd 100644 --- a/.travis.yml +++ b/.travis.yml @@ -8,8 +8,6 @@ before_script: - composer self-update - composer install --no-interaction - php artisan key:generate - - php artisan migrate --seed - - php artisan passport:install script: - vendor/bin/phpunit \ No newline at end of file diff --git a/config/database.php b/config/database.php index 0cf54458..cf738365 100644 --- a/config/database.php +++ b/config/database.php @@ -43,6 +43,13 @@ 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), ], + 'testing' => [ + 'driver' => 'sqlite', + 'database' => ':memory:', + 'prefix' => '', + 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), + ], + 'mysql' => [ 'driver' => 'mysql', 'url' => env('DATABASE_URL'), diff --git a/tests/Unit/APITest.php b/tests/Unit/APITest.php index 8ddbd423..737151a2 100644 --- a/tests/Unit/APITest.php +++ b/tests/Unit/APITest.php @@ -3,12 +3,32 @@ namespace Tests\Unit; use Tests\TestCase; +use Illuminate\Support\Facades\Artisan; use Illuminate\Foundation\Testing\WithFaker; +use Illuminate\Foundation\Testing\DatabaseTransactions; use Illuminate\Auth\Authenticatable; class APITest extends TestCase { + /** + * Rollback and execute migrations for each test. + */ + use DatabaseTransactions; + + + /** + * set up fresh db + */ + public function setUp(): void + { + parent::setUp(); + // Artisan::call('make:migrate', ['--force' => true]); + Artisan::call('migrate', ['--seed' => true]); + Artisan::call('passport:install',['--verbose' => 2]); + } + + /** * test User creation via API *