mirror of
https://github.com/HDInnovations/UNIT3D-Community-Edition.git
synced 2026-05-12 14:09:20 -05:00
tests: Add bare-minimum testing configuration
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
APP_NAME=UNIT3D
|
||||
APP_ENV=testing
|
||||
APP_KEY=base64:y37MiYtrUMfj3Pyv2b4Mbu3xvrxkmZ6EJfFcOCGgI5Q=
|
||||
APP_DEBUG=true
|
||||
APP_LOG_LEVEL=debug
|
||||
APP_URL=http://unit3d.site
|
||||
|
||||
DB_CONNECTION=mysql
|
||||
DB_HOST=127.0.0.1
|
||||
DB_PORT=3306
|
||||
DB_DATABASE=unit3d_test
|
||||
DB_USERNAME=homestead
|
||||
DB_PASSWORD=secret
|
||||
|
||||
BROADCAST_DRIVER=log
|
||||
CACHE_DRIVER=file
|
||||
SESSION_DRIVER=file
|
||||
SESSION_LIFETIME=120
|
||||
QUEUE_DRIVER=sync
|
||||
|
||||
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
|
||||
|
||||
PUSHER_APP_ID=
|
||||
PUSHER_APP_KEY=
|
||||
PUSHER_APP_SECRET=
|
||||
PUSHER_APP_CLUSTER=mt1
|
||||
+28
@@ -0,0 +1,28 @@
|
||||
language: php
|
||||
|
||||
php:
|
||||
- '7.3'
|
||||
|
||||
addons:
|
||||
mariadb: '10.3'
|
||||
|
||||
sudo: false
|
||||
|
||||
before_script:
|
||||
- composer install --prefer-source --no-interaction
|
||||
- php artisan key:generate --env testing
|
||||
- npm install
|
||||
- npm run prod
|
||||
|
||||
before_install:
|
||||
- mysql -e 'CREATE DATABASE unit3d_test;'
|
||||
- mysql -e "CREATE USER 'homestead'@'%' IDENTIFIED BY 'secret';"
|
||||
- mysql --user=root -e "GRANT ALL PRIVILEGES ON unit3d_test.* TO 'homestead'@'%' WITH GRANT OPTION;"
|
||||
- mysql --user=root -e 'FLUSH PRIVILEGES;'
|
||||
|
||||
services:
|
||||
- mysql
|
||||
|
||||
notifications:
|
||||
email:
|
||||
on_failure: change
|
||||
+1
-1
@@ -93,4 +93,4 @@
|
||||
"@php artisan key:generate --ansi"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php
|
||||
|
||||
/** @var \Illuminate\Database\Eloquent\Factory $factory */
|
||||
|
||||
use App\User;
|
||||
use Faker\Generator as Faker;
|
||||
|
||||
$factory->define(User::class, function (Faker $faker) {
|
||||
return [
|
||||
|
||||
];
|
||||
});
|
||||
+2
-2
@@ -28,8 +28,8 @@
|
||||
<server name="APP_ENV" value="testing"/>
|
||||
<server name="BCRYPT_ROUNDS" value="4"/>
|
||||
<server name="CACHE_DRIVER" value="array"/>
|
||||
<server name="DB_CONNECTION" value="sqlite"/>
|
||||
<server name="DB_DATABASE" value=":memory:"/>
|
||||
<server name="DB_CONNECTION" value="mysql"/>
|
||||
<server name="DB_DATABASE" value="unit3d_test"/>
|
||||
<server name="MAIL_DRIVER" value="array"/>
|
||||
<server name="QUEUE_CONNECTION" value="sync"/>
|
||||
<server name="SESSION_DRIVER" value="array"/>
|
||||
|
||||
@@ -73,18 +73,6 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="subfooter text-center" style="background-color: #2e2e2e;">
|
||||
<div class="container">
|
||||
<div class="subfooter-inner">
|
||||
<div class="row">
|
||||
<div class="col-md-12">
|
||||
<span>This page took {{ microtime(true) - LARAVEL_START }} seconds to render.</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<a id="back-to-top" href="#" class="btn btn-primary btn-lg back-to-top" role="button">
|
||||
<i class="{{ config('other.font-awesome') }} fa-arrow-square-up"></i>
|
||||
</a>
|
||||
|
||||
@@ -1,20 +0,0 @@
|
||||
<?php
|
||||
|
||||
namespace Tests\Feature;
|
||||
|
||||
use Tests\TestCase;
|
||||
|
||||
class ExampleTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* A basic test example.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function testBasicTest()
|
||||
{
|
||||
$response = $this->get('/');
|
||||
|
||||
$response->assertStatus(200);
|
||||
}
|
||||
}
|
||||
@@ -2,6 +2,8 @@
|
||||
|
||||
namespace Tests\Feature\Http\Controllers;
|
||||
|
||||
use App\Models\User;
|
||||
use GroupsTableSeeder;
|
||||
use Tests\TestCase;
|
||||
|
||||
/**
|
||||
@@ -9,40 +11,47 @@ use Tests\TestCase;
|
||||
*/
|
||||
class HomeControllerTest extends TestCase
|
||||
{
|
||||
/**
|
||||
* @test
|
||||
*/
|
||||
public function index_returns_an_ok_response()
|
||||
public function setUp(): void
|
||||
{
|
||||
$this->markTestIncomplete('This test case was generated by Shift. When you are ready, remove this line and complete this test case.');
|
||||
parent::setUp();
|
||||
|
||||
$user = factory(\App\Models\User::class)->create();
|
||||
|
||||
$response = $this->actingAs($user)->get(route('home.index'));
|
||||
|
||||
$response->assertOk();
|
||||
$response->assertViewIs('home.index');
|
||||
$response->assertViewHas('user');
|
||||
$response->assertViewHas('personal_freeleech');
|
||||
$response->assertViewHas('users');
|
||||
$response->assertViewHas('groups');
|
||||
$response->assertViewHas('articles');
|
||||
$response->assertViewHas('newest');
|
||||
$response->assertViewHas('seeded');
|
||||
$response->assertViewHas('dying');
|
||||
$response->assertViewHas('leeched');
|
||||
$response->assertViewHas('dead');
|
||||
$response->assertViewHas('topics');
|
||||
$response->assertViewHas('posts');
|
||||
$response->assertViewHas('featured');
|
||||
$response->assertViewHas('poll');
|
||||
$response->assertViewHas('uploaders');
|
||||
$response->assertViewHas('past_uploaders');
|
||||
$response->assertViewHas('freeleech_tokens');
|
||||
$response->assertViewHas('bookmarks');
|
||||
|
||||
// TODO: perform additional assertions
|
||||
$this->seed(GroupsTableSeeder::class);
|
||||
}
|
||||
|
||||
// test cases...
|
||||
/** @test */
|
||||
public function whenNotAuthenticatedHomepageReturns302()
|
||||
{
|
||||
$response = $this->get('/');
|
||||
|
||||
$response->assertStatus(302);
|
||||
}
|
||||
|
||||
/** @test */
|
||||
public function whenAuthenticatedHomepageReturns200()
|
||||
{
|
||||
$user = factory(User::class)->create();
|
||||
|
||||
$this->actingAs($user)
|
||||
->get(route('home.index'))
|
||||
->assertOk()
|
||||
->assertViewIs('home.index')
|
||||
->assertViewHas('user')
|
||||
->assertViewHas('personal_freeleech')
|
||||
->assertViewHas('users')
|
||||
->assertViewHas('groups')
|
||||
->assertViewHas('articles')
|
||||
->assertViewHas('newest')
|
||||
->assertViewHas('seeded')
|
||||
->assertViewHas('dying')
|
||||
->assertViewHas('leeched')
|
||||
->assertViewHas('dead')
|
||||
->assertViewHas('topics')
|
||||
->assertViewHas('posts')
|
||||
->assertViewHas('featured')
|
||||
->assertViewHas('poll')
|
||||
->assertViewHas('uploaders')
|
||||
->assertViewHas('past_uploaders')
|
||||
->assertViewHas('freeleech_tokens')
|
||||
->assertViewHas('bookmarks');
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace Tests;
|
||||
|
||||
use Illuminate\Foundation\Testing\RefreshDatabase;
|
||||
use Illuminate\Foundation\Testing\TestCase as BaseTestCase;
|
||||
use JMac\Testing\Traits\HttpTestAssertions;
|
||||
|
||||
@@ -9,4 +10,5 @@ abstract class TestCase extends BaseTestCase
|
||||
{
|
||||
use CreatesApplication;
|
||||
use HttpTestAssertions;
|
||||
use RefreshDatabase;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user