Merge pull request #2337 from CachetHQ/laravel-54
✨ Upgrade to Laravel 5.4
This commit is contained in:
@@ -53,8 +53,6 @@ class IncidentPresenter extends BasePresenter implements Arrayable
|
|||||||
public function __construct(DateFactory $dates, Incident $resource)
|
public function __construct(DateFactory $dates, Incident $resource)
|
||||||
{
|
{
|
||||||
$this->dates = $dates;
|
$this->dates = $dates;
|
||||||
|
|
||||||
parent::__construct($resource);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -45,8 +45,6 @@ class SchedulePresenter extends BasePresenter implements Arrayable
|
|||||||
public function __construct(DateFactory $dates, Schedule $resource)
|
public function __construct(DateFactory $dates, Schedule $resource)
|
||||||
{
|
{
|
||||||
$this->dates = $dates;
|
$this->dates = $dates;
|
||||||
|
|
||||||
parent::__construct($resource);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -45,8 +45,8 @@
|
|||||||
"graham-campbell/markdown": "^7.1",
|
"graham-campbell/markdown": "^7.1",
|
||||||
"guzzlehttp/guzzle": "^6.2.1",
|
"guzzlehttp/guzzle": "^6.2.1",
|
||||||
"jenssegers/date": "^3.2",
|
"jenssegers/date": "^3.2",
|
||||||
"laravel/framework": "5.3.*",
|
"laravel/framework": "^5.4",
|
||||||
"mccool/laravel-auto-presenter": "^4.3",
|
"mccool/laravel-auto-presenter": "^5.0",
|
||||||
"nexmo/client": "@beta",
|
"nexmo/client": "@beta",
|
||||||
"pragmarx/google2fa": "^0.7.1",
|
"pragmarx/google2fa": "^0.7.1",
|
||||||
"predis/predis": "^1.1",
|
"predis/predis": "^1.1",
|
||||||
@@ -54,12 +54,14 @@
|
|||||||
"twig/twig": "^1.26.1"
|
"twig/twig": "^1.26.1"
|
||||||
},
|
},
|
||||||
"require-dev": {
|
"require-dev": {
|
||||||
"alt-three/testbench": "^1.9",
|
"alt-three/testbench": "^1.11",
|
||||||
"filp/whoops": "^2.1",
|
"filp/whoops": "^2.1",
|
||||||
"fzaninotto/faker": "^1.6",
|
"fzaninotto/faker": "^1.6",
|
||||||
"graham-campbell/testbench-core": "^1.1",
|
"graham-campbell/testbench-core": "^1.1",
|
||||||
|
"laravel/browser-kit-testing": "^1.0",
|
||||||
"mockery/mockery": "0.9.5",
|
"mockery/mockery": "0.9.5",
|
||||||
"phpunit/phpunit": "~5.0",
|
"nikic/php-parser": "^3.0",
|
||||||
|
"phpunit/phpunit": "5.7.20",
|
||||||
"symfony/css-selector": "^3.1",
|
"symfony/css-selector": "^3.1",
|
||||||
"symfony/dom-crawler": "^3.1",
|
"symfony/dom-crawler": "^3.1",
|
||||||
"tightenco/mailthief": "^0.3.2"
|
"tightenco/mailthief": "^0.3.2"
|
||||||
@@ -113,6 +115,6 @@
|
|||||||
"dev-master": "2.4-dev"
|
"dev-master": "2.4-dev"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"minimum-stability": "stable",
|
"minimum-stability": "dev",
|
||||||
"prefer-stable": true
|
"prefer-stable": true
|
||||||
}
|
}
|
||||||
|
|||||||
992
composer.lock
generated
992
composer.lock
generated
File diff suppressed because it is too large
Load Diff
@@ -222,11 +222,14 @@ return [
|
|||||||
'Artisan' => Illuminate\Support\Facades\Artisan::class,
|
'Artisan' => Illuminate\Support\Facades\Artisan::class,
|
||||||
'Auth' => Illuminate\Support\Facades\Auth::class,
|
'Auth' => Illuminate\Support\Facades\Auth::class,
|
||||||
'Blade' => Illuminate\Support\Facades\Blade::class,
|
'Blade' => Illuminate\Support\Facades\Blade::class,
|
||||||
|
'Broadcast' => Illuminate\Support\Facades\Broadcast::class,
|
||||||
|
'Bus' => Illuminate\Support\Facades\Bus::class,
|
||||||
'Cache' => Illuminate\Support\Facades\Cache::class,
|
'Cache' => Illuminate\Support\Facades\Cache::class,
|
||||||
'Config' => Illuminate\Support\Facades\Config::class,
|
'Config' => Illuminate\Support\Facades\Config::class,
|
||||||
'Cookie' => Illuminate\Support\Facades\Cookie::class,
|
'Cookie' => Illuminate\Support\Facades\Cookie::class,
|
||||||
'Crypt' => Illuminate\Support\Facades\Crypt::class,
|
'Crypt' => Illuminate\Support\Facades\Crypt::class,
|
||||||
'DB' => Illuminate\Support\Facades\DB::class,
|
'DB' => Illuminate\Support\Facades\DB::class,
|
||||||
|
'Eloquent' => Illuminate\Database\Eloquent\Model::class,
|
||||||
'Event' => Illuminate\Support\Facades\Event::class,
|
'Event' => Illuminate\Support\Facades\Event::class,
|
||||||
'File' => Illuminate\Support\Facades\File::class,
|
'File' => Illuminate\Support\Facades\File::class,
|
||||||
'Gate' => Illuminate\Support\Facades\Gate::class,
|
'Gate' => Illuminate\Support\Facades\Gate::class,
|
||||||
|
|||||||
@@ -20,9 +20,11 @@ return [
|
|||||||
| framework when an event needs to be broadcast. You may set this to
|
| framework when an event needs to be broadcast. You may set this to
|
||||||
| any of the connections defined in the "connections" array below.
|
| any of the connections defined in the "connections" array below.
|
||||||
|
|
|
|
||||||
|
| Supported: "pusher", "redis", "log", "null"
|
||||||
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'default' => env('BROADCAST_DRIVER', 'pusher'),
|
'default' => env('BROADCAST_DRIVER', 'null'),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
@@ -39,9 +41,9 @@ return [
|
|||||||
|
|
||||||
'pusher' => [
|
'pusher' => [
|
||||||
'driver' => 'pusher',
|
'driver' => 'pusher',
|
||||||
'key' => null,
|
'key' => env('PUSHER_APP_KEY'),
|
||||||
'secret' => null,
|
'secret' => env('PUSHER_APP_SECRET'),
|
||||||
'app_id' => null,
|
'app_id' => env('PUSHER_APP_ID'),
|
||||||
'options' => [
|
'options' => [
|
||||||
//
|
//
|
||||||
],
|
],
|
||||||
@@ -56,6 +58,10 @@ return [
|
|||||||
'driver' => 'log',
|
'driver' => 'log',
|
||||||
],
|
],
|
||||||
|
|
||||||
|
'null' => [
|
||||||
|
'driver' => 'null',
|
||||||
|
],
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -10,6 +10,7 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
return [
|
return [
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| Default Cache Store
|
| Default Cache Store
|
||||||
@@ -22,7 +23,9 @@ return [
|
|||||||
| Supported: "apc", "array", "database", "file", "memcached", "redis"
|
| Supported: "apc", "array", "database", "file", "memcached", "redis"
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'default' => env('CACHE_DRIVER', 'file'),
|
'default' => env('CACHE_DRIVER', 'file'),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| Cache Stores
|
| Cache Stores
|
||||||
@@ -33,22 +36,28 @@ return [
|
|||||||
| same cache driver to group types of items stored in your caches.
|
| same cache driver to group types of items stored in your caches.
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'stores' => [
|
'stores' => [
|
||||||
|
|
||||||
'apc' => [
|
'apc' => [
|
||||||
'driver' => 'apc',
|
'driver' => 'apc',
|
||||||
],
|
],
|
||||||
|
|
||||||
'array' => [
|
'array' => [
|
||||||
'driver' => 'array',
|
'driver' => 'array',
|
||||||
],
|
],
|
||||||
|
|
||||||
'database' => [
|
'database' => [
|
||||||
'driver' => 'database',
|
'driver' => 'database',
|
||||||
'table' => 'cache',
|
'table' => 'cache',
|
||||||
'connection' => null,
|
'connection' => null,
|
||||||
],
|
],
|
||||||
|
|
||||||
'file' => [
|
'file' => [
|
||||||
'driver' => 'file',
|
'driver' => 'file',
|
||||||
'path' => storage_path('framework/cache'),
|
'path' => storage_path('framework/cache/data'),
|
||||||
],
|
],
|
||||||
|
|
||||||
'memcached' => [
|
'memcached' => [
|
||||||
'driver' => 'memcached',
|
'driver' => 'memcached',
|
||||||
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
|
'persistent_id' => env('MEMCACHED_PERSISTENT_ID'),
|
||||||
@@ -67,11 +76,14 @@ return [
|
|||||||
],
|
],
|
||||||
],
|
],
|
||||||
],
|
],
|
||||||
|
|
||||||
'redis' => [
|
'redis' => [
|
||||||
'driver' => 'redis',
|
'driver' => 'redis',
|
||||||
'connection' => 'default',
|
'connection' => 'default',
|
||||||
],
|
],
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| Cache Key Prefix
|
| Cache Key Prefix
|
||||||
@@ -82,5 +94,7 @@ return [
|
|||||||
| value to get prefixed to all our keys so we can avoid collisions.
|
| value to get prefixed to all our keys so we can avoid collisions.
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'prefix' => 'laravel',
|
'prefix' => 'laravel',
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -11,19 +11,6 @@
|
|||||||
|
|
||||||
return [
|
return [
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| PDO Fetch Style
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| By default, database results will be returned as instances of the PHP
|
|
||||||
| stdClass object; however, you may desire to retrieve records in an
|
|
||||||
| array format for simplicity. Here you can tweak the fetch style.
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
'fetch' => PDO::FETCH_CLASS,
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
| Default Database Connection Name
|
| Default Database Connection Name
|
||||||
@@ -58,19 +45,19 @@ return [
|
|||||||
'sqlite' => [
|
'sqlite' => [
|
||||||
'driver' => 'sqlite',
|
'driver' => 'sqlite',
|
||||||
'database' => env('DB_DATABASE', database_path('database.sqlite')),
|
'database' => env('DB_DATABASE', database_path('database.sqlite')),
|
||||||
'prefix' => env('DB_PREFIX', null),
|
'prefix' => '',
|
||||||
],
|
],
|
||||||
|
|
||||||
'mysql' => [
|
'mysql' => [
|
||||||
'driver' => 'mysql',
|
'driver' => 'mysql',
|
||||||
'host' => env('DB_HOST', null),
|
'host' => env('DB_HOST', '127.0.0.1'),
|
||||||
'unix_socket' => env('DB_UNIX_SOCKET', null),
|
'unix_socket' => env('DB_UNIX_SOCKET', null),
|
||||||
'database' => env('DB_DATABASE', null),
|
|
||||||
'username' => env('DB_USERNAME', null),
|
|
||||||
'password' => env('DB_PASSWORD', null),
|
|
||||||
'port' => env('DB_PORT', '3306'),
|
'port' => env('DB_PORT', '3306'),
|
||||||
'charset' => 'utf8',
|
'database' => env('DB_DATABASE', 'forge'),
|
||||||
'collation' => 'utf8_unicode_ci',
|
'username' => env('DB_USERNAME', 'forge'),
|
||||||
|
'password' => env('DB_PASSWORD', ''),
|
||||||
|
'charset' => 'utf8mb4',
|
||||||
|
'collation' => 'utf8mb4_unicode_ci',
|
||||||
'prefix' => env('DB_PREFIX', null),
|
'prefix' => env('DB_PREFIX', null),
|
||||||
'strict' => false,
|
'strict' => false,
|
||||||
'engine' => null,
|
'engine' => null,
|
||||||
@@ -78,14 +65,15 @@ return [
|
|||||||
|
|
||||||
'pgsql' => [
|
'pgsql' => [
|
||||||
'driver' => 'pgsql',
|
'driver' => 'pgsql',
|
||||||
'host' => env('DB_HOST', null),
|
'host' => env('DB_HOST', '127.0.0.1'),
|
||||||
'database' => env('DB_DATABASE', null),
|
|
||||||
'username' => env('DB_USERNAME', null),
|
|
||||||
'password' => env('DB_PASSWORD', null),
|
|
||||||
'port' => env('DB_PORT', '5432'),
|
'port' => env('DB_PORT', '5432'),
|
||||||
|
'database' => env('DB_DATABASE', 'forge'),
|
||||||
|
'username' => env('DB_USERNAME', 'forge'),
|
||||||
|
'password' => env('DB_PASSWORD', ''),
|
||||||
'charset' => 'utf8',
|
'charset' => 'utf8',
|
||||||
'prefix' => env('DB_PREFIX', null),
|
'prefix' => env('DB_PREFIX', null),
|
||||||
'schema' => env('DB_SCHEMA', 'public'),
|
'schema' => 'public',
|
||||||
|
'sslmode' => 'prefer',
|
||||||
],
|
],
|
||||||
|
|
||||||
],
|
],
|
||||||
@@ -116,13 +104,13 @@ return [
|
|||||||
|
|
||||||
'redis' => [
|
'redis' => [
|
||||||
|
|
||||||
'cluster' => false,
|
'client' => 'predis',
|
||||||
|
|
||||||
'default' => [
|
'default' => [
|
||||||
'host' => env('REDIS_HOST', '127.0.0.1'),
|
'host' => env('REDIS_HOST', '127.0.0.1'),
|
||||||
|
'password' => env('REDIS_PASSWORD', null),
|
||||||
'port' => env('REDIS_PORT', 6379),
|
'port' => env('REDIS_PORT', 6379),
|
||||||
'database' => env('REDIS_DATABASE', 0),
|
'database' => env('REDIS_DATABASE', 0),
|
||||||
'password' => env('REDIS_PASSWORD', null),
|
|
||||||
],
|
],
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -17,14 +17,12 @@ return [
|
|||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
|
||||||
| Here you may specify the default filesystem disk that should be used
|
| Here you may specify the default filesystem disk that should be used
|
||||||
| by the framework. A "local" driver, as well as a variety of cloud
|
| by the framework. The "local" disk, as well as a variety of cloud
|
||||||
| based drivers are available for your choosing. Just store away!
|
| based disks are available to your application. Just store away!
|
||||||
|
|
|
||||||
| Supported: "local", "ftp", "s3", "rackspace"
|
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'default' => 'local',
|
'default' => env('FILESYSTEM_DRIVER', 'local'),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
@@ -37,7 +35,7 @@ return [
|
|||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'cloud' => 's3',
|
'cloud' => env('FILESYSTEM_CLOUD', 's3'),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
@@ -48,6 +46,8 @@ return [
|
|||||||
| may even configure multiple disks of the same driver. Defaults have
|
| may even configure multiple disks of the same driver. Defaults have
|
||||||
| been setup for each driver as an example of the required options.
|
| been setup for each driver as an example of the required options.
|
||||||
|
|
|
|
||||||
|
| Supported Drivers: "local", "ftp", "s3", "rackspace"
|
||||||
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'disks' => [
|
'disks' => [
|
||||||
@@ -60,15 +60,16 @@ return [
|
|||||||
'public' => [
|
'public' => [
|
||||||
'driver' => 'local',
|
'driver' => 'local',
|
||||||
'root' => storage_path('app/public'),
|
'root' => storage_path('app/public'),
|
||||||
|
'url' => env('APP_URL').'/storage',
|
||||||
'visibility' => 'public',
|
'visibility' => 'public',
|
||||||
],
|
],
|
||||||
|
|
||||||
's3' => [
|
's3' => [
|
||||||
'driver' => 's3',
|
'driver' => 's3',
|
||||||
'key' => 'your-key',
|
'key' => env('AWS_KEY'),
|
||||||
'secret' => 'your-secret',
|
'secret' => env('AWS_SECRET'),
|
||||||
'region' => 'your-region',
|
'region' => env('AWS_REGION'),
|
||||||
'bucket' => 'your-bucket',
|
'bucket' => env('AWS_BUCKET'),
|
||||||
],
|
],
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -20,8 +20,8 @@ return [
|
|||||||
| sending of e-mail. You may specify which one you're using throughout
|
| sending of e-mail. You may specify which one you're using throughout
|
||||||
| your application here. By default, Laravel is setup for SMTP mail.
|
| your application here. By default, Laravel is setup for SMTP mail.
|
||||||
|
|
|
|
||||||
| Supported: "smtp", "mail", "sendmail", "mailgun", "mandrill",
|
| Supported: "smtp", "sendmail", "mailgun", "mandrill", "ses",
|
||||||
| "ses", "sparkpost", "log"
|
| "sparkpost", "log", "array"
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
@@ -64,7 +64,10 @@ return [
|
|||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'from' => ['address' => env('MAIL_ADDRESS'), 'name' => env('MAIL_NAME', 'Cachet')],
|
'from' => [
|
||||||
|
'address' => env('MAIL_ADDRESS'),
|
||||||
|
'name' => env('MAIL_NAME', 'Cachet'),
|
||||||
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
@@ -92,17 +95,6 @@ return [
|
|||||||
|
|
||||||
'username' => env('MAIL_USERNAME'),
|
'username' => env('MAIL_USERNAME'),
|
||||||
|
|
||||||
/*
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
| SMTP Server Password
|
|
||||||
|--------------------------------------------------------------------------
|
|
||||||
|
|
|
||||||
| Here you may set the password required by your SMTP server to send out
|
|
||||||
| messages from your application. This will be given to the server on
|
|
||||||
| connection so that the application will be able to send messages.
|
|
||||||
|
|
|
||||||
*/
|
|
||||||
|
|
||||||
'password' => env('MAIL_PASSWORD'),
|
'password' => env('MAIL_PASSWORD'),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@@ -118,4 +110,23 @@ return [
|
|||||||
|
|
||||||
'sendmail' => '/usr/sbin/sendmail -bs',
|
'sendmail' => '/usr/sbin/sendmail -bs',
|
||||||
|
|
||||||
|
/*
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
| Markdown Mail Settings
|
||||||
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
||||||
|
| If you are using Markdown based email rendering, you may configure your
|
||||||
|
| theme and component paths here, allowing you to customize the design
|
||||||
|
| of the emails. Or, you may simply stick with the Laravel defaults!
|
||||||
|
|
|
||||||
|
*/
|
||||||
|
|
||||||
|
'markdown' => [
|
||||||
|
'theme' => 'default',
|
||||||
|
|
||||||
|
'paths' => [
|
||||||
|
resource_path('views/vendor/mail'),
|
||||||
|
],
|
||||||
|
],
|
||||||
|
|
||||||
];
|
];
|
||||||
|
|||||||
@@ -16,15 +16,15 @@ return [
|
|||||||
| Default Queue Driver
|
| Default Queue Driver
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|
|
|
||||||
| The Laravel queue API supports a variety of back-ends via an unified
|
| Laravel's queue API supports an assortment of back-ends via a single
|
||||||
| API, giving you convenient access to each back-end using the same
|
| API, giving you convenient access to each back-end using the same
|
||||||
| syntax for each one. Here you may set the default queue driver.
|
| syntax for each one. Here you may set the default queue driver.
|
||||||
|
|
|
|
||||||
| Supported: "null", "sync", "database", "beanstalkd", "sqs", "redis"
|
| Supported: "sync", "database", "beanstalkd", "sqs", "redis", "null"
|
||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'default' => env('QUEUE_DRIVER', 'database'),
|
'default' => env('QUEUE_DRIVER', 'sync'),
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
@@ -47,14 +47,14 @@ return [
|
|||||||
'driver' => 'database',
|
'driver' => 'database',
|
||||||
'table' => 'jobs',
|
'table' => 'jobs',
|
||||||
'queue' => 'default',
|
'queue' => 'default',
|
||||||
'retry_after' => 60,
|
'retry_after' => 90,
|
||||||
],
|
],
|
||||||
|
|
||||||
'beanstalkd' => [
|
'beanstalkd' => [
|
||||||
'driver' => 'beanstalkd',
|
'driver' => 'beanstalkd',
|
||||||
'host' => 'localhost',
|
'host' => 'localhost',
|
||||||
'queue' => 'default',
|
'queue' => 'default',
|
||||||
'retry_after' => 60,
|
'retry_after' => 90,
|
||||||
],
|
],
|
||||||
|
|
||||||
'sqs' => [
|
'sqs' => [
|
||||||
@@ -67,10 +67,10 @@ return [
|
|||||||
],
|
],
|
||||||
|
|
||||||
'redis' => [
|
'redis' => [
|
||||||
'driver' => 'redis',
|
'driver' => 'redis',
|
||||||
'connection' => 'default',
|
'connection' => 'default',
|
||||||
'queue' => 'default',
|
'queue' => 'default',
|
||||||
'retry_after' => 86400,
|
'retry_after' => 90,
|
||||||
],
|
],
|
||||||
|
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -22,7 +22,9 @@ return [
|
|||||||
|
|
|
|
||||||
*/
|
*/
|
||||||
|
|
||||||
'paths' => [realpath(base_path('resources/views'))],
|
'paths' => [
|
||||||
|
resource_path('views'),
|
||||||
|
],
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|--------------------------------------------------------------------------
|
|--------------------------------------------------------------------------
|
||||||
|
|||||||
19
resources/views/vendor/mail/html/button.blade.php
vendored
Normal file
19
resources/views/vendor/mail/html/button.blade.php
vendored
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<table class="action" align="center" width="100%" cellpadding="0" cellspacing="0">
|
||||||
|
<tr>
|
||||||
|
<td align="center">
|
||||||
|
<table width="100%" border="0" cellpadding="0" cellspacing="0">
|
||||||
|
<tr>
|
||||||
|
<td align="center">
|
||||||
|
<table border="0" cellpadding="0" cellspacing="0">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<a href="{{ $url }}" class="button button-{{ $color or 'blue' }}" target="_blank">{{ $slot }}</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
11
resources/views/vendor/mail/html/footer.blade.php
vendored
Normal file
11
resources/views/vendor/mail/html/footer.blade.php
vendored
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<table class="footer" align="center" width="570" cellpadding="0" cellspacing="0">
|
||||||
|
<tr>
|
||||||
|
<td class="content-cell" align="center">
|
||||||
|
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
7
resources/views/vendor/mail/html/header.blade.php
vendored
Normal file
7
resources/views/vendor/mail/html/header.blade.php
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<tr>
|
||||||
|
<td class="header">
|
||||||
|
<a href="{{ $url }}">
|
||||||
|
{{ $slot }}
|
||||||
|
</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
54
resources/views/vendor/mail/html/layout.blade.php
vendored
Normal file
54
resources/views/vendor/mail/html/layout.blade.php
vendored
Normal file
@@ -0,0 +1,54 @@
|
|||||||
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
||||||
|
<head>
|
||||||
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<style>
|
||||||
|
@media only screen and (max-width: 600px) {
|
||||||
|
.inner-body {
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media only screen and (max-width: 500px) {
|
||||||
|
.button {
|
||||||
|
width: 100% !important;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
|
||||||
|
<table class="wrapper" width="100%" cellpadding="0" cellspacing="0">
|
||||||
|
<tr>
|
||||||
|
<td align="center">
|
||||||
|
<table class="content" width="100%" cellpadding="0" cellspacing="0">
|
||||||
|
{{ $header or '' }}
|
||||||
|
|
||||||
|
<!-- Email Body -->
|
||||||
|
<tr>
|
||||||
|
<td class="body" width="100%" cellpadding="0" cellspacing="0">
|
||||||
|
<table class="inner-body" align="center" width="570" cellpadding="0" cellspacing="0">
|
||||||
|
<!-- Body content -->
|
||||||
|
<tr>
|
||||||
|
<td class="content-cell">
|
||||||
|
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
||||||
|
|
||||||
|
{{ $subcopy or '' }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
|
||||||
|
{{ $footer or '' }}
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</body>
|
||||||
|
</html>
|
||||||
27
resources/views/vendor/mail/html/message.blade.php
vendored
Normal file
27
resources/views/vendor/mail/html/message.blade.php
vendored
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
@component('mail::layout')
|
||||||
|
{{-- Header --}}
|
||||||
|
@slot('header')
|
||||||
|
@component('mail::header', ['url' => config('app.url')])
|
||||||
|
{{ config('app.name') }}
|
||||||
|
@endcomponent
|
||||||
|
@endslot
|
||||||
|
|
||||||
|
{{-- Body --}}
|
||||||
|
{{ $slot }}
|
||||||
|
|
||||||
|
{{-- Subcopy --}}
|
||||||
|
@isset($subcopy)
|
||||||
|
@slot('subcopy')
|
||||||
|
@component('mail::subcopy')
|
||||||
|
{{ $subcopy }}
|
||||||
|
@endcomponent
|
||||||
|
@endslot
|
||||||
|
@endisset
|
||||||
|
|
||||||
|
{{-- Footer --}}
|
||||||
|
@slot('footer')
|
||||||
|
@component('mail::footer')
|
||||||
|
© {{ date('Y') }} {{ config('app.name') }}. All rights reserved.
|
||||||
|
@endcomponent
|
||||||
|
@endslot
|
||||||
|
@endcomponent
|
||||||
13
resources/views/vendor/mail/html/panel.blade.php
vendored
Normal file
13
resources/views/vendor/mail/html/panel.blade.php
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<table class="panel" width="100%" cellpadding="0" cellspacing="0">
|
||||||
|
<tr>
|
||||||
|
<td class="panel-content">
|
||||||
|
<table width="100%" cellpadding="0" cellspacing="0">
|
||||||
|
<tr>
|
||||||
|
<td class="panel-item">
|
||||||
|
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
7
resources/views/vendor/mail/html/promotion.blade.php
vendored
Normal file
7
resources/views/vendor/mail/html/promotion.blade.php
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<table class="promotion" align="center" width="100%" cellpadding="0" cellspacing="0">
|
||||||
|
<tr>
|
||||||
|
<td align="center">
|
||||||
|
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
13
resources/views/vendor/mail/html/promotion/button.blade.php
vendored
Normal file
13
resources/views/vendor/mail/html/promotion/button.blade.php
vendored
Normal file
@@ -0,0 +1,13 @@
|
|||||||
|
<table width="100%" border="0" cellpadding="0" cellspacing="0">
|
||||||
|
<tr>
|
||||||
|
<td align="center">
|
||||||
|
<table border="0" cellpadding="0" cellspacing="0">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
<a href="{{ $url }}" class="button button-green" target="_blank">{{ $slot }}</a>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
7
resources/views/vendor/mail/html/subcopy.blade.php
vendored
Normal file
7
resources/views/vendor/mail/html/subcopy.blade.php
vendored
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
<table class="subcopy" width="100%" cellpadding="0" cellspacing="0">
|
||||||
|
<tr>
|
||||||
|
<td>
|
||||||
|
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
||||||
|
</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
3
resources/views/vendor/mail/html/table.blade.php
vendored
Normal file
3
resources/views/vendor/mail/html/table.blade.php
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
<div class="table">
|
||||||
|
{{ Illuminate\Mail\Markdown::parse($slot) }}
|
||||||
|
</div>
|
||||||
285
resources/views/vendor/mail/html/themes/default.css
vendored
Normal file
285
resources/views/vendor/mail/html/themes/default.css
vendored
Normal file
@@ -0,0 +1,285 @@
|
|||||||
|
/* Base */
|
||||||
|
|
||||||
|
body, body *:not(html):not(style):not(br):not(tr):not(code) {
|
||||||
|
font-family: Avenir, Helvetica, sans-serif;
|
||||||
|
box-sizing: border-box;
|
||||||
|
}
|
||||||
|
|
||||||
|
body {
|
||||||
|
background-color: #f5f8fa;
|
||||||
|
color: #74787E;
|
||||||
|
height: 100%;
|
||||||
|
hyphens: auto;
|
||||||
|
line-height: 1.4;
|
||||||
|
margin: 0;
|
||||||
|
-moz-hyphens: auto;
|
||||||
|
-ms-word-break: break-all;
|
||||||
|
width: 100% !important;
|
||||||
|
-webkit-hyphens: auto;
|
||||||
|
-webkit-text-size-adjust: none;
|
||||||
|
word-break: break-all;
|
||||||
|
word-break: break-word;
|
||||||
|
}
|
||||||
|
|
||||||
|
p,
|
||||||
|
ul,
|
||||||
|
ol,
|
||||||
|
blockquote {
|
||||||
|
line-height: 1.4;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
a {
|
||||||
|
color: #3869D4;
|
||||||
|
}
|
||||||
|
|
||||||
|
a img {
|
||||||
|
border: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Typography */
|
||||||
|
|
||||||
|
h1 {
|
||||||
|
color: #2F3133;
|
||||||
|
font-size: 19px;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 0;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
h2 {
|
||||||
|
color: #2F3133;
|
||||||
|
font-size: 16px;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 0;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
h3 {
|
||||||
|
color: #2F3133;
|
||||||
|
font-size: 14px;
|
||||||
|
font-weight: bold;
|
||||||
|
margin-top: 0;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
p {
|
||||||
|
color: #74787E;
|
||||||
|
font-size: 16px;
|
||||||
|
line-height: 1.5em;
|
||||||
|
margin-top: 0;
|
||||||
|
text-align: left;
|
||||||
|
}
|
||||||
|
|
||||||
|
p.sub {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
img {
|
||||||
|
max-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Layout */
|
||||||
|
|
||||||
|
.wrapper {
|
||||||
|
background-color: #f5f8fa;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
width: 100%;
|
||||||
|
-premailer-cellpadding: 0;
|
||||||
|
-premailer-cellspacing: 0;
|
||||||
|
-premailer-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
width: 100%;
|
||||||
|
-premailer-cellpadding: 0;
|
||||||
|
-premailer-cellspacing: 0;
|
||||||
|
-premailer-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Header */
|
||||||
|
|
||||||
|
.header {
|
||||||
|
padding: 25px 0;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.header a {
|
||||||
|
color: #bbbfc3;
|
||||||
|
font-size: 19px;
|
||||||
|
font-weight: bold;
|
||||||
|
text-decoration: none;
|
||||||
|
text-shadow: 0 1px 0 white;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Body */
|
||||||
|
|
||||||
|
.body {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
border-bottom: 1px solid #EDEFF2;
|
||||||
|
border-top: 1px solid #EDEFF2;
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
width: 100%;
|
||||||
|
-premailer-cellpadding: 0;
|
||||||
|
-premailer-cellspacing: 0;
|
||||||
|
-premailer-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.inner-body {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0;
|
||||||
|
width: 570px;
|
||||||
|
-premailer-cellpadding: 0;
|
||||||
|
-premailer-cellspacing: 0;
|
||||||
|
-premailer-width: 570px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Subcopy */
|
||||||
|
|
||||||
|
.subcopy {
|
||||||
|
border-top: 1px solid #EDEFF2;
|
||||||
|
margin-top: 25px;
|
||||||
|
padding-top: 25px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.subcopy p {
|
||||||
|
font-size: 12px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Footer */
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
margin: 0 auto;
|
||||||
|
padding: 0;
|
||||||
|
text-align: center;
|
||||||
|
width: 570px;
|
||||||
|
-premailer-cellpadding: 0;
|
||||||
|
-premailer-cellspacing: 0;
|
||||||
|
-premailer-width: 570px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer p {
|
||||||
|
color: #AEAEAE;
|
||||||
|
font-size: 12px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Tables */
|
||||||
|
|
||||||
|
.table table {
|
||||||
|
margin: 30px auto;
|
||||||
|
width: 100%;
|
||||||
|
-premailer-cellpadding: 0;
|
||||||
|
-premailer-cellspacing: 0;
|
||||||
|
-premailer-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table th {
|
||||||
|
border-bottom: 1px solid #EDEFF2;
|
||||||
|
padding-bottom: 8px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.table td {
|
||||||
|
color: #74787E;
|
||||||
|
font-size: 15px;
|
||||||
|
line-height: 18px;
|
||||||
|
padding: 10px 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content-cell {
|
||||||
|
padding: 35px;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Buttons */
|
||||||
|
|
||||||
|
.action {
|
||||||
|
margin: 30px auto;
|
||||||
|
padding: 0;
|
||||||
|
text-align: center;
|
||||||
|
width: 100%;
|
||||||
|
-premailer-cellpadding: 0;
|
||||||
|
-premailer-cellspacing: 0;
|
||||||
|
-premailer-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button {
|
||||||
|
border-radius: 3px;
|
||||||
|
box-shadow: 0 2px 3px rgba(0, 0, 0, 0.16);
|
||||||
|
color: #FFF;
|
||||||
|
display: inline-block;
|
||||||
|
text-decoration: none;
|
||||||
|
-webkit-text-size-adjust: none;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-blue {
|
||||||
|
background-color: #3097D1;
|
||||||
|
border-top: 10px solid #3097D1;
|
||||||
|
border-right: 18px solid #3097D1;
|
||||||
|
border-bottom: 10px solid #3097D1;
|
||||||
|
border-left: 18px solid #3097D1;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-green {
|
||||||
|
background-color: #2ab27b;
|
||||||
|
border-top: 10px solid #2ab27b;
|
||||||
|
border-right: 18px solid #2ab27b;
|
||||||
|
border-bottom: 10px solid #2ab27b;
|
||||||
|
border-left: 18px solid #2ab27b;
|
||||||
|
}
|
||||||
|
|
||||||
|
.button-red {
|
||||||
|
background-color: #bf5329;
|
||||||
|
border-top: 10px solid #bf5329;
|
||||||
|
border-right: 18px solid #bf5329;
|
||||||
|
border-bottom: 10px solid #bf5329;
|
||||||
|
border-left: 18px solid #bf5329;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Panels */
|
||||||
|
|
||||||
|
.panel {
|
||||||
|
margin: 0 0 21px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-content {
|
||||||
|
background-color: #EDEFF2;
|
||||||
|
padding: 16px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-item {
|
||||||
|
padding: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
.panel-item p:last-of-type {
|
||||||
|
margin-bottom: 0;
|
||||||
|
padding-bottom: 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* Promotions */
|
||||||
|
|
||||||
|
.promotion {
|
||||||
|
background-color: #FFFFFF;
|
||||||
|
border: 2px dashed #9BA2AB;
|
||||||
|
margin: 0;
|
||||||
|
margin-bottom: 25px;
|
||||||
|
margin-top: 25px;
|
||||||
|
padding: 24px;
|
||||||
|
width: 100%;
|
||||||
|
-premailer-cellpadding: 0;
|
||||||
|
-premailer-cellspacing: 0;
|
||||||
|
-premailer-width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.promotion h1 {
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.promotion p {
|
||||||
|
font-size: 15px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
1
resources/views/vendor/mail/markdown/button.blade.php
vendored
Normal file
1
resources/views/vendor/mail/markdown/button.blade.php
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{{ $slot }}: {{ $url }}
|
||||||
1
resources/views/vendor/mail/markdown/footer.blade.php
vendored
Normal file
1
resources/views/vendor/mail/markdown/footer.blade.php
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{{ $slot }}
|
||||||
1
resources/views/vendor/mail/markdown/header.blade.php
vendored
Normal file
1
resources/views/vendor/mail/markdown/header.blade.php
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[{{ $slot }}]({{ $url }})
|
||||||
9
resources/views/vendor/mail/markdown/layout.blade.php
vendored
Normal file
9
resources/views/vendor/mail/markdown/layout.blade.php
vendored
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
{!! strip_tags($header) !!}
|
||||||
|
|
||||||
|
{!! strip_tags($slot) !!}
|
||||||
|
@isset($subcopy)
|
||||||
|
|
||||||
|
{!! strip_tags($subcopy) !!}
|
||||||
|
@endisset
|
||||||
|
|
||||||
|
{!! strip_tags($footer) !!}
|
||||||
27
resources/views/vendor/mail/markdown/message.blade.php
vendored
Normal file
27
resources/views/vendor/mail/markdown/message.blade.php
vendored
Normal file
@@ -0,0 +1,27 @@
|
|||||||
|
@component('mail::layout')
|
||||||
|
{{-- Header --}}
|
||||||
|
@slot('header')
|
||||||
|
@component('mail::header', ['url' => config('app.url')])
|
||||||
|
{{ config('app.name') }}
|
||||||
|
@endcomponent
|
||||||
|
@endslot
|
||||||
|
|
||||||
|
{{-- Body --}}
|
||||||
|
{{ $slot }}
|
||||||
|
|
||||||
|
{{-- Subcopy --}}
|
||||||
|
@isset($subcopy)
|
||||||
|
@slot('subcopy')
|
||||||
|
@component('mail::subcopy')
|
||||||
|
{{ $subcopy }}
|
||||||
|
@endcomponent
|
||||||
|
@endslot
|
||||||
|
@endisset
|
||||||
|
|
||||||
|
{{-- Footer --}}
|
||||||
|
@slot('footer')
|
||||||
|
@component('mail::footer')
|
||||||
|
© {{ date('Y') }} {{ config('app.name') }}. All rights reserved.
|
||||||
|
@endcomponent
|
||||||
|
@endslot
|
||||||
|
@endcomponent
|
||||||
1
resources/views/vendor/mail/markdown/panel.blade.php
vendored
Normal file
1
resources/views/vendor/mail/markdown/panel.blade.php
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{{ $slot }}
|
||||||
1
resources/views/vendor/mail/markdown/promotion.blade.php
vendored
Normal file
1
resources/views/vendor/mail/markdown/promotion.blade.php
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{{ $slot }}
|
||||||
1
resources/views/vendor/mail/markdown/promotion/button.blade.php
vendored
Normal file
1
resources/views/vendor/mail/markdown/promotion/button.blade.php
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
[{{ $slot }}]({{ $url }})
|
||||||
1
resources/views/vendor/mail/markdown/subcopy.blade.php
vendored
Normal file
1
resources/views/vendor/mail/markdown/subcopy.blade.php
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{{ $slot }}
|
||||||
1
resources/views/vendor/mail/markdown/table.blade.php
vendored
Normal file
1
resources/views/vendor/mail/markdown/table.blade.php
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{{ $slot }}
|
||||||
@@ -14,18 +14,22 @@ namespace CachetHQ\Tests\Cachet\Api;
|
|||||||
use CachetHQ\Cachet\Models\User;
|
use CachetHQ\Cachet\Models\User;
|
||||||
use CachetHQ\Tests\Cachet\AbstractTestCase;
|
use CachetHQ\Tests\Cachet\AbstractTestCase;
|
||||||
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
||||||
|
use Laravel\BrowserKitTesting\Concerns\MakesHttpRequests;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* This is the abstract api test case class.
|
* This is the abstract api test case class.
|
||||||
*
|
*
|
||||||
* @author Graham Campbell <graham@alt-three.com>
|
* @author Graham Campbell <graham@alt-three.com>
|
||||||
|
* @author James Brooks <james@alt-three.com>
|
||||||
*/
|
*/
|
||||||
abstract class AbstractApiTestCase extends AbstractTestCase
|
abstract class AbstractApiTestCase extends AbstractTestCase
|
||||||
{
|
{
|
||||||
use DatabaseMigrations;
|
use MakesHttpRequests, DatabaseMigrations;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Become a user.
|
* Become a user.
|
||||||
|
*
|
||||||
|
* @return void
|
||||||
*/
|
*/
|
||||||
protected function beUser()
|
protected function beUser()
|
||||||
{
|
{
|
||||||
|
|||||||
@@ -1,84 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This file is part of Cachet.
|
|
||||||
*
|
|
||||||
* (c) Alt Three Services Limited
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view the LICENSE
|
|
||||||
* file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace CachetHQ\Tests\Cachet\Http\Controllers;
|
|
||||||
|
|
||||||
use CachetHQ\Cachet\Models\Component;
|
|
||||||
use CachetHQ\Cachet\Models\ComponentGroup;
|
|
||||||
use CachetHQ\Cachet\Models\Setting;
|
|
||||||
use CachetHQ\Cachet\Models\User;
|
|
||||||
use CachetHQ\Tests\Cachet\AbstractTestCase;
|
|
||||||
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
|
||||||
use Illuminate\Foundation\Testing\TestCase;
|
|
||||||
|
|
||||||
class DashboardControllerTest extends AbstractTestCase
|
|
||||||
{
|
|
||||||
use DatabaseMigrations;
|
|
||||||
|
|
||||||
const COMPONENT_GROUP_1_NAME = 'Component Group 1';
|
|
||||||
const COMPONENT_GROUP_2_NAME = 'Component Group 2';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var User
|
|
||||||
*/
|
|
||||||
protected $user;
|
|
||||||
|
|
||||||
protected function setUp()
|
|
||||||
{
|
|
||||||
parent::setUp();
|
|
||||||
|
|
||||||
$this->setupPublicAndNonPublicComponentGroups()
|
|
||||||
->setupConfig();
|
|
||||||
}
|
|
||||||
|
|
||||||
/** @test */
|
|
||||||
public function on_dashboard_all_component_groups_are_displayed()
|
|
||||||
{
|
|
||||||
$this->signIn();
|
|
||||||
|
|
||||||
$this->visit('/dashboard')
|
|
||||||
->see(self::COMPONENT_GROUP_1_NAME)
|
|
||||||
->see(self::COMPONENT_GROUP_2_NAME);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set up the needed data for the components groups tests.
|
|
||||||
*
|
|
||||||
* @return TestCase
|
|
||||||
*/
|
|
||||||
protected function setupPublicAndNonPublicComponentGroups()
|
|
||||||
{
|
|
||||||
$this->createAComponentGroupAndAddAComponent(self::COMPONENT_GROUP_1_NAME, ComponentGroup::VISIBLE_GUEST)
|
|
||||||
->createAComponentGroupAndAddAComponent(self::COMPONENT_GROUP_2_NAME, ComponentGroup::VISIBLE_AUTHENTICATED);
|
|
||||||
|
|
||||||
factory(Setting::class)->create();
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a component group and add one component to it.
|
|
||||||
*
|
|
||||||
* @param string $name
|
|
||||||
* @param string $visible
|
|
||||||
*
|
|
||||||
* @return TestCase
|
|
||||||
*/
|
|
||||||
protected function createAComponentGroupAndAddAComponent($name, $visible)
|
|
||||||
{
|
|
||||||
factory(ComponentGroup::class)
|
|
||||||
->create(['name' => $name, 'visible' => $visible])
|
|
||||||
->components()
|
|
||||||
->save(factory(Component::class)->create());
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1,89 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/*
|
|
||||||
* This file is part of Cachet.
|
|
||||||
*
|
|
||||||
* (c) Alt Three Services Limited
|
|
||||||
*
|
|
||||||
* For the full copyright and license information, please view the LICENSE
|
|
||||||
* file that was distributed with this source code.
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace CachetHQ\Tests\Cachet\Http\Controllers;
|
|
||||||
|
|
||||||
use CachetHQ\Cachet\Models\Component;
|
|
||||||
use CachetHQ\Cachet\Models\ComponentGroup;
|
|
||||||
use CachetHQ\Cachet\Models\Setting;
|
|
||||||
use CachetHQ\Cachet\Models\User;
|
|
||||||
use CachetHQ\Tests\Cachet\AbstractTestCase;
|
|
||||||
use Illuminate\Foundation\Testing\DatabaseMigrations;
|
|
||||||
|
|
||||||
class StatusPageControllerTest extends AbstractTestCase
|
|
||||||
{
|
|
||||||
use DatabaseMigrations;
|
|
||||||
|
|
||||||
const COMPONENT_GROUP_1_NAME = 'Component Group 1';
|
|
||||||
const COMPONENT_GROUP_2_NAME = 'Component Group 2';
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @var User
|
|
||||||
*/
|
|
||||||
protected $user;
|
|
||||||
|
|
||||||
protected function setUp()
|
|
||||||
{
|
|
||||||
parent::setUp();
|
|
||||||
|
|
||||||
$this->setupPublicAndNonPublicComponentGroups()
|
|
||||||
->setupConfig();
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testIndexShowsOnlyPublicComponentGroupsToGuests()
|
|
||||||
{
|
|
||||||
$this->visit('/')
|
|
||||||
->see(self::COMPONENT_GROUP_1_NAME)
|
|
||||||
->dontSee(self::COMPONENT_GROUP_2_NAME);
|
|
||||||
}
|
|
||||||
|
|
||||||
public function testIndexShowsAllComponentGroupsToLoggedInUsers()
|
|
||||||
{
|
|
||||||
$this->signIn();
|
|
||||||
|
|
||||||
$this->visit('/')
|
|
||||||
->see(self::COMPONENT_GROUP_1_NAME)
|
|
||||||
->see(self::COMPONENT_GROUP_2_NAME);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Set up the needed data for the components groups tests.
|
|
||||||
*
|
|
||||||
* @return AbstractTestCase
|
|
||||||
*/
|
|
||||||
protected function setupPublicAndNonPublicComponentGroups()
|
|
||||||
{
|
|
||||||
$this->createAComponentGroupAndAddAComponent(self::COMPONENT_GROUP_1_NAME, ComponentGroup::VISIBLE_GUEST)
|
|
||||||
->createAComponentGroupAndAddAComponent(self::COMPONENT_GROUP_2_NAME, ComponentGroup::VISIBLE_AUTHENTICATED);
|
|
||||||
|
|
||||||
factory(Setting::class)->create();
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Create a component group and add one component to it.
|
|
||||||
*
|
|
||||||
* @param string $name
|
|
||||||
* @param string $visible
|
|
||||||
*
|
|
||||||
* @return AbstractTestCase
|
|
||||||
*/
|
|
||||||
protected function createAComponentGroupAndAddAComponent($name, $visible)
|
|
||||||
{
|
|
||||||
factory(ComponentGroup::class)
|
|
||||||
->create(['name' => $name, 'visible' => $visible])
|
|
||||||
->components()
|
|
||||||
->save(factory(Component::class)->create());
|
|
||||||
|
|
||||||
return $this;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
Reference in New Issue
Block a user