1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2025-12-12 12:54:05 +00:00

Begin work on tests

This commit is contained in:
Samuel Štancl 2019-02-01 22:47:10 +01:00
parent 349832c64b
commit 999507fe42
6 changed files with 172 additions and 0 deletions

6
.travis.yml Normal file
View file

@ -0,0 +1,6 @@
language: php
php:
- '7.1'
- '7.2'
script: vendor/bin/phpunit

View file

@ -13,6 +13,10 @@
"illuminate/support": "^5.7", "illuminate/support": "^5.7",
"webpatser/laravel-uuid": "^3.0" "webpatser/laravel-uuid": "^3.0"
}, },
"require-dev": {
"orchestra/testbench": "~3.0",
"laravel/framework": "5.7.*"
},
"autoload": { "autoload": {
"psr-4": { "psr-4": {
"Stancl\\Tenancy\\": "src/" "Stancl\\Tenancy\\": "src/"
@ -21,6 +25,11 @@
"src/helpers.php" "src/helpers.php"
] ]
}, },
"autoload-dev": {
"psr-4": {
"Stancl\\Tenancy\\Tests\\": "tests/"
}
},
"extra": { "extra": {
"laravel": { "laravel": {
"providers": [ "providers": [

31
phpunit.xml Normal file
View file

@ -0,0 +1,31 @@
<?xml version="1.0" encoding="UTF-8"?>
<phpunit backupGlobals="false"
backupStaticAttributes="false"
bootstrap="vendor/autoload.php"
colors="true"
convertErrorsToExceptions="true"
convertNoticesToExceptions="true"
convertWarningsToExceptions="true"
processIsolation="false"
stopOnFailure="false">
<testsuites>
<testsuite name="Unit">
<directory suffix="Test.php">./tests</directory>
</testsuite>
</testsuites>
<filter>
<whitelist processUncoveredFilesFromWhitelist="true">
<directory suffix=".php">./app</directory>
</whitelist>
</filter>
<php>
<env name="APP_ENV" value="testing"/>
<env name="BCRYPT_ROUNDS" value="4"/>
<env name="CACHE_DRIVER" value="array"/>
<env name="MAIL_DRIVER" value="array"/>
<env name="QUEUE_CONNECTION" value="sync"/>
<env name="SESSION_DRIVER" value="array"/>
<env name="DB_CONNECTION" value="sqlite"/>
<env name="DB_DATABASE" value=":memory:"/>
</php>
</phpunit>

View file

@ -0,0 +1,81 @@
<?php
namespace Stancl\Tenancy\Testing;
use Illuminate\Foundation\Http\Kernel;
class HttpKernel extends Kernel
{
/**
* The application's global HTTP middleware stack.
*
* These middleware are run during every request to your application.
*
* @var array
*/
protected $middleware = [
\Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode::class,
\Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
\App\Http\Middleware\TrimStrings::class,
\Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
\App\Http\Middleware\TrustProxies::class,
];
/**
* The application's route middleware groups.
*
* @var array
*/
protected $middlewareGroups = [
'web' => [
\App\Http\Middleware\EncryptCookies::class,
\Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
\Illuminate\Session\Middleware\StartSession::class,
// \Illuminate\Session\Middleware\AuthenticateSession::class,
\Illuminate\View\Middleware\ShareErrorsFromSession::class,
\App\Http\Middleware\VerifyCsrfToken::class,
\Illuminate\Routing\Middleware\SubstituteBindings::class,
],
'tenancy' => [
\Stancl\Tenancy\Middleware\InitializeTenancy::class,
],
'api' => [
'throttle:60,1',
'bindings',
],
];
/**
* The application's route middleware.
*
* These middleware may be assigned to groups or used individually.
*
* @var array
*/
protected $routeMiddleware = [
'auth' => \App\Http\Middleware\Authenticate::class,
'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
'can' => \Illuminate\Auth\Middleware\Authorize::class,
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
'tenancy' => \Stancl\Tenancy\Middleware\InitializeTenancy::class,
];
/**
* The priority-sorted list of middleware.
*
* This forces non-global middleware to always be in the given order.
*
* @var array
*/
protected $middlewarePriority = [
\Stancl\Tenancy\Middleware\InitializeTenancy::class,
];
}

11
tests/HelloWorldTest.php Normal file
View file

@ -0,0 +1,11 @@
<?php
namespace Stancl\Tenancy\Tests;
class HelloWorldTest extends TestCase
{
public function testAbc()
{
$this->assertTrue(true);
}
}

34
tests/TestCase.php Normal file
View file

@ -0,0 +1,34 @@
<?php
namespace Stancl\Tenancy\Tests;
class TestCase extends \Orchestra\Testbench\TestCase
{
/**
* Setup the test environment
*
* @return void
*/
protected function setUp()
{
parent::setUp();
//
}
protected function getPackageProviders($app)
{
return [\Stancl\Tenancy\TenancyServiceProvider::class];
}
/**
* Resolve application HTTP Kernel implementation.
*
* @param \Illuminate\Foundation\Application $app
* @return void
*/
protected function resolveApplicationHttpKernel($app)
{
$app->singleton('Illuminate\Contracts\Http\Kernel', \Stancl\Tenancy\Testing\HttpKernel::class);
}
}