test_config
This commit is contained in:
@@ -7,6 +7,7 @@ use Illuminate\Console\Command;
|
|||||||
use Illuminate\Support\Facades\Artisan;
|
use Illuminate\Support\Facades\Artisan;
|
||||||
use Illuminate\Support\Facades\Config;
|
use Illuminate\Support\Facades\Config;
|
||||||
use Illuminate\Support\Facades\DB;
|
use Illuminate\Support\Facades\DB;
|
||||||
|
use Database\Seeders\v_2_0_0\DatabaseSeeder;
|
||||||
|
|
||||||
class SetupTestEnv extends Command
|
class SetupTestEnv extends Command
|
||||||
{
|
{
|
||||||
@@ -15,7 +16,7 @@ class SetupTestEnv extends Command
|
|||||||
*
|
*
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
protected $signature = 'testing-setup {--username=} {--password=}';
|
protected $signature = 'testing-setup {--username=} {--password=} {--database=}';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* The console command description.
|
* The console command description.
|
||||||
@@ -43,10 +44,11 @@ class SetupTestEnv extends Command
|
|||||||
{
|
{
|
||||||
$dbUsername = $this->option('username') ? $this->option('username') : env('DB_USERNAME');
|
$dbUsername = $this->option('username') ? $this->option('username') : env('DB_USERNAME');
|
||||||
$dbPassword = $this->option('password') ? $this->option('password') : (env('DB_PASSWORD'));
|
$dbPassword = $this->option('password') ? $this->option('password') : (env('DB_PASSWORD'));
|
||||||
|
$dbName = $this->option('database') ? $this->option('database') : 'testing_db';
|
||||||
|
|
||||||
$this->setupConfig($dbUsername, $dbPassword);
|
$this->setupConfig($dbUsername, $dbPassword);
|
||||||
|
|
||||||
echo "\nCreating database...\n";
|
echo "\nCreating database...\n";
|
||||||
$dbName = 'testing_db';
|
|
||||||
createDB($dbName);
|
createDB($dbName);
|
||||||
echo "\nDatabase Created Successfully!\n";
|
echo "\nDatabase Created Successfully!\n";
|
||||||
|
|
||||||
@@ -144,7 +146,7 @@ class SetupTestEnv extends Command
|
|||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
echo "\nSeeding...\n";
|
echo "\nSeeding...\n";
|
||||||
Artisan::call('db:seed', ['--force' => true]);
|
Artisan::call('db:seed', ['--class' => DatabaseSeeder::class, '--force' => true]);
|
||||||
echo Artisan::output();
|
echo Artisan::output();
|
||||||
echo "\nSeeded Successfully!\n";
|
echo "\nSeeded Successfully!\n";
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
@@ -159,7 +161,13 @@ class SetupTestEnv extends Command
|
|||||||
*/
|
*/
|
||||||
private function updateAppUrl()
|
private function updateAppUrl()
|
||||||
{
|
{
|
||||||
return System::first()->update(['url' => 'http://localhost:8000']);
|
$system = System::latest()->first();
|
||||||
|
|
||||||
|
if ($system) {
|
||||||
|
$system->update(['url' => 'http://localhost:8000']);
|
||||||
|
} else {
|
||||||
|
echo "\nData doesn't exists";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@@ -63,6 +63,26 @@ return [
|
|||||||
]) : [],
|
]) : [],
|
||||||
],
|
],
|
||||||
|
|
||||||
|
'testing' => [
|
||||||
|
'driver' => 'mysql',
|
||||||
|
'url' => env('DATABASE_URL'),
|
||||||
|
'host' => env('DB_HOST', 'localhost'),
|
||||||
|
'port' => env('DB_PORT', '3306'),
|
||||||
|
'database' => env('DB_DATABASE', 'forge'),
|
||||||
|
'username' => env('DB_USERNAME', 'forge'),
|
||||||
|
'password' => env('DB_PASSWORD', ''),
|
||||||
|
'unix_socket' => env('DB_SOCKET', ''),
|
||||||
|
'charset' => 'utf8mb4',
|
||||||
|
'collation' => 'utf8mb4_unicode_ci',
|
||||||
|
'prefix' => '',
|
||||||
|
'prefix_indexes' => true,
|
||||||
|
'strict' => false,
|
||||||
|
'engine' => env('DB_ENGINE', null),
|
||||||
|
'options' => extension_loaded('pdo_mysql') ? array_filter([
|
||||||
|
PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'),
|
||||||
|
]) : [],
|
||||||
|
],
|
||||||
|
|
||||||
'pgsql' => [
|
'pgsql' => [
|
||||||
'driver' => 'pgsql',
|
'driver' => 'pgsql',
|
||||||
'url' => env('DATABASE_URL'),
|
'url' => env('DATABASE_URL'),
|
||||||
|
52
phpunit.xml
52
phpunit.xml
@@ -8,30 +8,30 @@
|
|||||||
convertWarningsToExceptions="true"
|
convertWarningsToExceptions="true"
|
||||||
processIsolation="false"
|
processIsolation="false"
|
||||||
stopOnFailure="false">
|
stopOnFailure="false">
|
||||||
|
<testsuites>
|
||||||
<testsuites>
|
<testsuite name="all">
|
||||||
<testsuite name="all">
|
<directory>./tests/</directory>
|
||||||
<directory>./tests/</directory>
|
</testsuite>
|
||||||
</testsuite>
|
<testsuite name="unit">
|
||||||
<testsuite name="unit">
|
<directory>./tests/Unit</directory>
|
||||||
<directory>./tests/unit</directory>
|
</testsuite>
|
||||||
</testsuite>
|
</testsuites>
|
||||||
</testsuites>
|
<filter>
|
||||||
<filter>
|
<whitelist addUncoveredFilesFromWhitelist="true">
|
||||||
<whitelist addUncoveredFilesFromWhitelist="true">
|
<directory suffix=".php">app/</directory>
|
||||||
<directory suffix=".php">app/</directory>
|
</whitelist>
|
||||||
</whitelist>
|
</filter>
|
||||||
</filter>
|
<php>
|
||||||
<php>
|
<env name="APP_ENV" value="testing"/>
|
||||||
<env name="APP_ENV" value="testing"/>
|
<env name="DB_CONNECTION" value="testing"/>
|
||||||
<env name="DB_CONNECTION" value="testing"/>
|
<env name="DB_DATABASE" value="testing_db"/>
|
||||||
<env name="DB_DATABASE" value="testing_db"/>
|
<env name="CACHE_DRIVER" value="array"/>
|
||||||
<env name="CACHE_DRIVER" value="array"/>
|
<env name="SESSION_DRIVER" value="array"/>
|
||||||
<env name="SESSION_DRIVER" value="array"/>
|
<env name="QUEUE_CONNECTION" value="sync"/>
|
||||||
<env name="QUEUE_CONNECTION" value="sync"/>
|
<env name="MAIL_MAILER" value="mail"/>
|
||||||
<env name="MAIL_MAILER" value="mail"/>
|
<env name="APP_URL" value="http://localhost:8000"/>
|
||||||
<env name="APP_URL" value="http://localhost:8000"/>
|
<env name="DB_DATABASE" value="testing_db"/>
|
||||||
<env name="DB_DATABASE" value="testing_db"/>
|
<env name="DB_INSTALL" value="1"/>
|
||||||
<env name="DB_INSTALL" value="1"/>
|
</php>
|
||||||
</php>
|
|
||||||
</phpunit>
|
</phpunit>
|
||||||
|
|
||||||
|
50
tests/Unit/ExampleTest.php
Normal file
50
tests/Unit/ExampleTest.php
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace Tests\Unit;
|
||||||
|
|
||||||
|
use App\User;
|
||||||
|
use Illuminate\Support\Facades\Hash;
|
||||||
|
use Illuminate\Support\Str;
|
||||||
|
use Tests\TestCase;
|
||||||
|
use Faker\Factory as FakerFactory;
|
||||||
|
|
||||||
|
class ExampleTest extends TestCase
|
||||||
|
{
|
||||||
|
/**
|
||||||
|
* A basic unit test example.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
|
*/
|
||||||
|
public function test_example()
|
||||||
|
{
|
||||||
|
$this->assertTrue(true);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function test_store_user()
|
||||||
|
{
|
||||||
|
$faker = FakerFactory::create();
|
||||||
|
|
||||||
|
//Create User -> Agent
|
||||||
|
$str = Str::random(10);
|
||||||
|
$password = Hash::make($str);
|
||||||
|
$email = $faker->unique()->email();
|
||||||
|
$user = new User([
|
||||||
|
'first_name' => $faker->firstName(),
|
||||||
|
'last_name' => $faker->lastName(),
|
||||||
|
'email' => $email,
|
||||||
|
'user_name' => $faker->unique()->userName(),
|
||||||
|
'password' => $password,
|
||||||
|
'active' => 1,
|
||||||
|
'role' => 'user',
|
||||||
|
]);
|
||||||
|
$user->save();
|
||||||
|
|
||||||
|
// Check if data is inserted
|
||||||
|
$this->assertDatabaseHas('users', ['email' => $email]);
|
||||||
|
|
||||||
|
// Authenticate as the created user
|
||||||
|
$this->actingAs($user);
|
||||||
|
|
||||||
|
$this->assertAuthenticated();
|
||||||
|
}
|
||||||
|
}
|
Reference in New Issue
Block a user