upgrade to Laravel 7
This commit is contained in:
parent
48de60b43a
commit
0eb7d50d1c
|
|
@ -25,7 +25,7 @@ DB_PREFIX=
|
|||
PWD_METHOD=BCRYPT
|
||||
APP_KEY=
|
||||
|
||||
MAIL_DRIVER=smtp
|
||||
MAIL_MAILER=smtp
|
||||
MAIL_HOST=
|
||||
MAIL_PORT=465
|
||||
MAIL_USERNAME=
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ PWD_METHOD=BCRYPT
|
|||
SALT=c67709dd8b7b733aca0d570681fe96cf
|
||||
APP_KEY=base64:eVX/xzF5NhpGB2luswliFx9XSBsbbAP21wOi68X/P34=
|
||||
|
||||
MAIL_DRIVER=smtp
|
||||
MAIL_MAILER=smtp
|
||||
MAIL_HOST=localhost
|
||||
MAIL_PORT=465
|
||||
MAIL_USERNAME=
|
||||
|
|
|
|||
|
|
@ -2,10 +2,10 @@
|
|||
|
||||
namespace App\Exceptions;
|
||||
|
||||
use Exception;
|
||||
use Illuminate\Foundation\Exceptions\Handler as ExceptionHandler;
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Support\Str;
|
||||
use Throwable;
|
||||
|
||||
class Handler extends ExceptionHandler
|
||||
{
|
||||
|
|
@ -22,7 +22,7 @@ class Handler extends ExceptionHandler
|
|||
PrettyPageException::class,
|
||||
];
|
||||
|
||||
protected function convertExceptionToArray(Exception $e)
|
||||
protected function convertExceptionToArray(Throwable $e)
|
||||
{
|
||||
return [
|
||||
'message' => $e->getMessage(),
|
||||
|
|
|
|||
|
|
@ -210,7 +210,7 @@ class AuthController extends Controller
|
|||
|
||||
public function forgot()
|
||||
{
|
||||
if (config('mail.driver') != '') {
|
||||
if (config('mail.default') != '') {
|
||||
return view('auth.forgot', [
|
||||
'extra' => [
|
||||
'recaptcha' => option('recaptcha_sitekey'),
|
||||
|
|
@ -233,7 +233,7 @@ class AuthController extends Controller
|
|||
'captcha' => ['required', $captcha],
|
||||
]);
|
||||
|
||||
if (!config('mail.driver')) {
|
||||
if (!config('mail.default')) {
|
||||
return json(trans('auth.forgot.disabled'), 1);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ namespace App\Models;
|
|||
|
||||
use App\Events\PlayerProfileUpdated;
|
||||
use App\Models;
|
||||
use DateTimeInterface;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Player extends Model
|
||||
|
|
@ -62,4 +63,9 @@ class Player extends Model
|
|||
|
||||
return json_encode($profile, $options | JSON_UNESCAPED_UNICODE);
|
||||
}
|
||||
|
||||
protected function serializeDate(DateTimeInterface $date)
|
||||
{
|
||||
return $date->format('Y-m-d H:i:s');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace App\Models;
|
||||
|
||||
use DateTimeInterface;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Report extends Model
|
||||
|
|
@ -29,4 +30,9 @@ class Report extends Model
|
|||
{
|
||||
return $this->belongsTo(User::class, 'reporter', 'uid');
|
||||
}
|
||||
|
||||
protected function serializeDate(DateTimeInterface $date)
|
||||
{
|
||||
return $date->format('Y-m-d H:i:s');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace App\Models;
|
||||
|
||||
use DateTimeInterface;
|
||||
use Illuminate\Database\Eloquent\Model;
|
||||
|
||||
class Texture extends Model
|
||||
|
|
@ -37,4 +38,9 @@ class Texture extends Model
|
|||
{
|
||||
return $this->belongsToMany(User::class, 'user_closet')->withPivot('item_name');
|
||||
}
|
||||
|
||||
protected function serializeDate(DateTimeInterface $date)
|
||||
{
|
||||
return $date->format('Y-m-d H:i:s');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,7 @@
|
|||
namespace App\Models;
|
||||
|
||||
use App\Models\Concerns\HasPassword;
|
||||
use DateTimeInterface;
|
||||
use Illuminate\Foundation\Auth\User as Authenticatable;
|
||||
use Illuminate\Notifications\Notifiable;
|
||||
use Laravel\Passport\HasApiTokens;
|
||||
|
|
@ -85,4 +86,9 @@ class User extends Authenticatable implements JWTSubject
|
|||
{
|
||||
return [];
|
||||
}
|
||||
|
||||
protected function serializeDate(DateTimeInterface $date)
|
||||
{
|
||||
return $date->format('Y-m-d H:i:s');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,39 +17,39 @@
|
|||
"blessing/rejection": "^1.0",
|
||||
"blessing/texture-renderer": "^0.1.1",
|
||||
"composer/ca-bundle": "^1.2",
|
||||
"composer/semver": "^1.4",
|
||||
"composer/semver": "^1.5",
|
||||
"doctrine/dbal": "^2.10",
|
||||
"doctrine/inflector": "^1.3",
|
||||
"erusev/parsedown": "^1.7",
|
||||
"facade/ignition": "^1.4",
|
||||
"facade/ignition": "^2.0",
|
||||
"gregwar/captcha": "1.*",
|
||||
"guzzlehttp/guzzle": "^6.3",
|
||||
"intervention/image": "^2.5",
|
||||
"laravel/framework": "6.*",
|
||||
"laravel/passport": "^7.3",
|
||||
"laravel/framework": "^7.0",
|
||||
"laravel/passport": "^8.4",
|
||||
"nesbot/carbon": "^2.0",
|
||||
"nunomaduro/collision": "^4.1",
|
||||
"predis/predis": "~1.0",
|
||||
"rcrowe/twigbridge": "^0.11.3",
|
||||
"socialiteproviders/manager": "^3.4",
|
||||
"socialiteproviders/manager": "^3.5",
|
||||
"spatie/laravel-translation-loader": "^2.6",
|
||||
"symfony/process": "^4.4",
|
||||
"symfony/yaml": "^4.3",
|
||||
"symfony/process": "^5.0",
|
||||
"symfony/yaml": "^5.0",
|
||||
"twig/twig": "^2.11",
|
||||
"tymon/jwt-auth": "dev-develop",
|
||||
"vectorface/whip": "^0.3.2"
|
||||
},
|
||||
"require-dev": {
|
||||
"barryvdh/laravel-debugbar": "^3.2",
|
||||
"barryvdh/laravel-ide-helper": "^2.6",
|
||||
"beyondcode/laravel-dump-server": "^1.2",
|
||||
"beyondcode/laravel-dump-server": "^1.4",
|
||||
"fzaninotto/faker": "~1.9",
|
||||
"laravel/browser-kit-testing": "~5.0",
|
||||
"laravel/browser-kit-testing": "^6.0",
|
||||
"laravel/tinker": "^2.2",
|
||||
"mockery/mockery": "^1.3",
|
||||
"phpdocumentor/reflection-docblock": "^5.1",
|
||||
"phpunit/phpunit": "~8.0",
|
||||
"symfony/css-selector": "^4.3",
|
||||
"symfony/dom-crawler": "^4.3"
|
||||
"phpunit/phpunit": "^8.5",
|
||||
"symfony/css-selector": "^5.0",
|
||||
"symfony/dom-crawler": "^5.0"
|
||||
},
|
||||
"autoload": {
|
||||
"classmap": [
|
||||
|
|
|
|||
1885
composer.lock
generated
1885
composer.lock
generated
File diff suppressed because it is too large
Load Diff
134
config/mail.php
134
config/mail.php
|
|
@ -4,45 +4,71 @@ return [
|
|||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Mail Driver
|
||||
| Default Mailer
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Laravel supports both SMTP and PHP's "mail" function as drivers for the
|
||||
| sending of e-mail. You may specify which one you're using throughout
|
||||
| your application here. By default, Laravel is setup for SMTP mail.
|
||||
| This option controls the default mailer that is used to send any email
|
||||
| messages sent by your application. Alternative mailers may be setup
|
||||
| and used as needed; however, this mailer will be used by default.
|
||||
|
|
||||
*/
|
||||
|
||||
'default' => env('MAIL_MAILER', 'smtp'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Mailer Configurations
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may configure all of the mailers used by your application plus
|
||||
| their respective settings. Several examples have been configured for
|
||||
| you and you are free to add your own as your application requires.
|
||||
|
|
||||
| Laravel supports a variety of mail "transport" drivers to be used while
|
||||
| sending an e-mail. You will specify which one you are using for your
|
||||
| mailers below. You are free to add additional mailers as required.
|
||||
|
|
||||
| Supported: "smtp", "sendmail", "mailgun", "ses",
|
||||
| "postmark", "log", "array"
|
||||
|
|
||||
*/
|
||||
|
||||
'driver' => env('MAIL_DRIVER', 'smtp'),
|
||||
'mailers' => [
|
||||
'smtp' => [
|
||||
'transport' => 'smtp',
|
||||
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
|
||||
'port' => env('MAIL_PORT', 587),
|
||||
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
|
||||
'username' => env('MAIL_USERNAME'),
|
||||
'password' => env('MAIL_PASSWORD'),
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| SMTP Host Address
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may provide the host address of the SMTP server used by your
|
||||
| applications. A default option is provided that is compatible with
|
||||
| the Mailgun mail service which will provide reliable deliveries.
|
||||
|
|
||||
*/
|
||||
'ses' => [
|
||||
'transport' => 'ses',
|
||||
],
|
||||
|
||||
'host' => env('MAIL_HOST', 'smtp.mailgun.org'),
|
||||
'mailgun' => [
|
||||
'transport' => 'mailgun',
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| SMTP Host Port
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| This is the SMTP port used by your application to deliver e-mails to
|
||||
| users of the application. Like the host we have set this value to
|
||||
| stay compatible with the Mailgun e-mail application by default.
|
||||
|
|
||||
*/
|
||||
'postmark' => [
|
||||
'transport' => 'postmark',
|
||||
],
|
||||
|
||||
'port' => env('MAIL_PORT', 587),
|
||||
'sendmail' => [
|
||||
'transport' => 'sendmail',
|
||||
'path' => '/usr/sbin/sendmail -bs',
|
||||
],
|
||||
|
||||
'log' => [
|
||||
'transport' => 'log',
|
||||
'channel' => env('MAIL_LOG_CHANNEL'),
|
||||
],
|
||||
|
||||
'array' => [
|
||||
'transport' => 'array',
|
||||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
@ -60,47 +86,6 @@ return [
|
|||
'name' => env('MAIL_FROM_NAME', 'Example'),
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| E-Mail Encryption Protocol
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| Here you may specify the encryption protocol that should be used when
|
||||
| the application send e-mail messages. A sensible default using the
|
||||
| transport layer security protocol should provide great security.
|
||||
|
|
||||
*/
|
||||
|
||||
'encryption' => env('MAIL_ENCRYPTION', 'tls'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| SMTP Server Username
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If your SMTP server requires a username for authentication, you should
|
||||
| set it here. This will get used to authenticate with your server on
|
||||
| connection. You may also set the "password" value below this one.
|
||||
|
|
||||
*/
|
||||
|
||||
'username' => env('MAIL_USERNAME'),
|
||||
|
||||
'password' => env('MAIL_PASSWORD'),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Sendmail System Path
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| When using the "sendmail" driver to send e-mails, we will need to know
|
||||
| the path to where Sendmail lives on this server. A default path has
|
||||
| been provided here, which will work well on most of your systems.
|
||||
|
|
||||
*/
|
||||
|
||||
'sendmail' => '/usr/sbin/sendmail -bs',
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Markdown Mail Settings
|
||||
|
|
@ -120,17 +105,4 @@ return [
|
|||
],
|
||||
],
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
| Log Channel
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
||||
| If you are using the "log" driver, you may specify the logging channel
|
||||
| if you prefer to keep mail messages separate from other log entries
|
||||
| for simpler reading. Otherwise, the default channel will be used.
|
||||
|
|
||||
*/
|
||||
|
||||
'log_channel' => env('MAIL_LOG_CHANNEL'),
|
||||
|
||||
];
|
||||
|
|
|
|||
|
|
@ -161,7 +161,7 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'secure' => env('SESSION_SECURE_COOKIE', false),
|
||||
'secure' => env('SESSION_SECURE_COOKIE', null),
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
@ -189,6 +189,6 @@ return [
|
|||
|
|
||||
*/
|
||||
|
||||
'same_site' => null,
|
||||
'same_site' => 'lax',
|
||||
|
||||
];
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
|
||||
/** @var \Illuminate\Database\Eloquent\Factory $factory */
|
||||
use App\Models\Player;
|
||||
|
||||
$factory->define(Player::class, function (Faker\Generator $faker) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
|
||||
/** @var \Illuminate\Database\Eloquent\Factory $factory */
|
||||
use App\Models\Texture;
|
||||
|
||||
$factory->define(Texture::class, function (Faker\Generator $faker) {
|
||||
|
|
@ -15,27 +16,6 @@ $factory->define(Texture::class, function (Faker\Generator $faker) {
|
|||
];
|
||||
});
|
||||
|
||||
$factory->defineAs(Texture::class, 'alex', function (Faker\Generator $faker) {
|
||||
return [
|
||||
'name' => $faker->firstName,
|
||||
'type' => 'alex',
|
||||
'hash' => $faker->sha256,
|
||||
'size' => rand(1, 2048),
|
||||
'likes' => rand(1, 10),
|
||||
'uploader' => factory(App\Models\User::class)->create()->uid,
|
||||
'public' => true,
|
||||
'upload_at' => $faker->dateTime,
|
||||
];
|
||||
});
|
||||
$factory->state(Texture::class, 'alex', ['type' => 'alex']);
|
||||
|
||||
$factory->defineAs(Texture::class, 'cape', function (Faker\Generator $faker) {
|
||||
return [
|
||||
'name' => $faker->firstName,
|
||||
'type' => 'cape',
|
||||
'hash' => $faker->sha256,
|
||||
'size' => rand(1, 2048),
|
||||
'uploader' => factory(App\Models\User::class)->create()->uid,
|
||||
'public' => true,
|
||||
'upload_at' => $faker->dateTime,
|
||||
];
|
||||
});
|
||||
$factory->state(Texture::class, 'cape', ['type' => 'cape']);
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
<?php
|
||||
|
||||
/** @var \Illuminate\Database\Eloquent\Factory $factory */
|
||||
use App\Models\User;
|
||||
use Illuminate\Support\Str;
|
||||
|
||||
|
|
@ -18,47 +19,8 @@ $factory->define(User::class, function (Faker\Generator $faker) {
|
|||
];
|
||||
});
|
||||
|
||||
$factory->defineAs(User::class, 'admin', function (Faker\Generator $faker) {
|
||||
return [
|
||||
'email' => $faker->email,
|
||||
'nickname' => $faker->name,
|
||||
'score' => 1000,
|
||||
'avatar' => 0,
|
||||
'password' => app('cipher')->hash(Str::random(10), config('secure.salt')),
|
||||
'ip' => '127.0.0.1',
|
||||
'permission' => 1,
|
||||
'verified' => true,
|
||||
'last_sign_at' => $faker->dateTime->format('d-M-Y H:i:s'),
|
||||
'register_at' => $faker->dateTime->format('d-M-Y H:i:s'),
|
||||
];
|
||||
});
|
||||
$factory->state(User::class, 'admin', ['permission' => 1]);
|
||||
|
||||
$factory->defineAs(User::class, 'superAdmin', function (Faker\Generator $faker) {
|
||||
return [
|
||||
'email' => $faker->email,
|
||||
'nickname' => $faker->name,
|
||||
'score' => 1000,
|
||||
'avatar' => 0,
|
||||
'password' => app('cipher')->hash(Str::random(10), config('secure.salt')),
|
||||
'ip' => '127.0.0.1',
|
||||
'permission' => 2,
|
||||
'verified' => true,
|
||||
'last_sign_at' => $faker->dateTime->format('d-M-Y H:i:s'),
|
||||
'register_at' => $faker->dateTime->format('d-M-Y H:i:s'),
|
||||
];
|
||||
});
|
||||
$factory->state(User::class, 'superAdmin', ['permission' => 2]);
|
||||
|
||||
$factory->defineAs(User::class, 'banned', function (Faker\Generator $faker) {
|
||||
return [
|
||||
'email' => $faker->email,
|
||||
'nickname' => $faker->name,
|
||||
'score' => 1000,
|
||||
'avatar' => 0,
|
||||
'password' => app('cipher')->hash(Str::random(10), config('secure.salt')),
|
||||
'ip' => '127.0.0.1',
|
||||
'permission' => -1,
|
||||
'verified' => true,
|
||||
'last_sign_at' => $faker->dateTime->format('d-M-Y H:i:s'),
|
||||
'register_at' => $faker->dateTime->format('d-M-Y H:i:s'),
|
||||
];
|
||||
});
|
||||
$factory->state(User::class, 'banned', ['permission' => -1]);
|
||||
|
|
|
|||
|
|
@ -24,4 +24,7 @@
|
|||
<php>
|
||||
<env name="APP_ENV" value="testing"/>
|
||||
</php>
|
||||
<listeners>
|
||||
<listener class="NunoMaduro\Collision\Adapters\Phpunit\Printer" />
|
||||
</listeners>
|
||||
</phpunit>
|
||||
|
|
|
|||
|
|
@ -45,7 +45,7 @@ class BrowserKitTestCase extends TestCase
|
|||
if ($role == 'normal') {
|
||||
$role = factory(\App\Models\User::class)->create();
|
||||
} else {
|
||||
$role = factory(\App\Models\User::class, $role)->create();
|
||||
$role = factory(\App\Models\User::class)->states($role)->create();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ class AdminControllerTest extends TestCase
|
|||
|
||||
public function testSendNotification()
|
||||
{
|
||||
$admin = factory(User::class, 'admin')->create();
|
||||
$admin = factory(User::class)->states('admin')->create();
|
||||
$normal = factory(User::class)->create();
|
||||
Notification::fake();
|
||||
|
||||
|
|
@ -232,7 +232,7 @@ class AdminControllerTest extends TestCase
|
|||
]);
|
||||
|
||||
// An admin operating on a super admin should be forbidden
|
||||
$superAdmin = factory(User::class, 'superAdmin')->create();
|
||||
$superAdmin = factory(User::class)->states('superAdmin')->create();
|
||||
$this->postJson('/admin/users', ['uid' => $superAdmin->uid])
|
||||
->assertJson([
|
||||
'code' => 1,
|
||||
|
|
@ -401,7 +401,7 @@ class AdminControllerTest extends TestCase
|
|||
]);
|
||||
|
||||
// An admin cannot operate another admin's player
|
||||
$admin = factory(User::class, 'admin')->create();
|
||||
$admin = factory(User::class)->states('admin')->create();
|
||||
$this->postJson(
|
||||
'/admin/players',
|
||||
['pid' => factory(Player::class)->create(['uid' => $admin->uid])->pid]
|
||||
|
|
@ -409,7 +409,7 @@ class AdminControllerTest extends TestCase
|
|||
'code' => 1,
|
||||
'message' => trans('admin.players.no-permission'),
|
||||
]);
|
||||
$superAdmin = factory(User::class, 'superAdmin')->create();
|
||||
$superAdmin = factory(User::class)->states('superAdmin')->create();
|
||||
$this->postJson(
|
||||
'/admin/players',
|
||||
['pid' => factory(Player::class)->create(['uid' => $superAdmin->uid])->pid]
|
||||
|
|
@ -459,7 +459,7 @@ class AdminControllerTest extends TestCase
|
|||
]);
|
||||
|
||||
$skin = factory(Texture::class)->create();
|
||||
$cape = factory(Texture::class, 'cape')->create();
|
||||
$cape = factory(Texture::class)->states('cape')->create();
|
||||
|
||||
// Skin
|
||||
$this->postJson('/admin/players', [
|
||||
|
|
|
|||
|
|
@ -228,7 +228,7 @@ class AuthControllerTest extends TestCase
|
|||
$this->get('/auth/register')->assertSee('Register');
|
||||
|
||||
option(['user_can_register' => false]);
|
||||
$this->get('/auth/register')->assertSee(e(trans('auth.register.close')));
|
||||
$this->get('/auth/register')->assertSee(trans('auth.register.close'));
|
||||
}
|
||||
|
||||
public function testHandleRegister()
|
||||
|
|
@ -484,7 +484,7 @@ class AuthControllerTest extends TestCase
|
|||
{
|
||||
$this->get('/auth/forgot')->assertSee('Forgot Password');
|
||||
|
||||
config(['mail.driver' => '']);
|
||||
config(['mail.default' => '']);
|
||||
$this->get('/auth/forgot')->assertSee(trans('auth.forgot.disabled'));
|
||||
}
|
||||
|
||||
|
|
@ -495,7 +495,7 @@ class AuthControllerTest extends TestCase
|
|||
$filter = Filter::fake();
|
||||
|
||||
// Should be forbidden if "forgot password" is closed
|
||||
config(['mail.driver' => '']);
|
||||
config(['mail.default' => '']);
|
||||
$this->postJson('/auth/forgot', [
|
||||
'email' => 'nope@nope.net',
|
||||
'captcha' => 'a',
|
||||
|
|
@ -503,7 +503,7 @@ class AuthControllerTest extends TestCase
|
|||
'code' => 1,
|
||||
'message' => trans('auth.forgot.disabled'),
|
||||
]);
|
||||
config(['mail.driver' => 'smtp']);
|
||||
config(['mail.default' => 'smtp']);
|
||||
|
||||
$whip = new Whip();
|
||||
$ip = $whip->getValidIpAddress();
|
||||
|
|
@ -748,7 +748,7 @@ class AuthControllerTest extends TestCase
|
|||
$this->assertTrue(is_string($token));
|
||||
}
|
||||
|
||||
public function testOAuthLogin()
|
||||
public function testOauthLogin()
|
||||
{
|
||||
Socialite::shouldReceive('driver')
|
||||
->with('github')
|
||||
|
|
@ -763,7 +763,7 @@ class AuthControllerTest extends TestCase
|
|||
$this->get('/auth/login/github')->assertRedirect();
|
||||
}
|
||||
|
||||
public function testOAuthCallback()
|
||||
public function testOauthCallback()
|
||||
{
|
||||
Event::fake();
|
||||
$filter = Filter::fake();
|
||||
|
|
|
|||
|
|
@ -56,7 +56,7 @@ class ClosetControllerTest extends TestCase
|
|||
$this->assertCount(2, $result['items']);
|
||||
|
||||
// Get capes
|
||||
$cape = factory(Texture::class, 'cape')->create();
|
||||
$cape = factory(Texture::class)->states('cape')->create();
|
||||
$this->user->closet()->attach($cape->tid, ['item_name' => 'custom_name']);
|
||||
$this->getJson('/user/closet/list?category=cape')
|
||||
->assertJson(['data' => [
|
||||
|
|
|
|||
|
|
@ -17,7 +17,7 @@ class MarketControllerTest extends TestCase
|
|||
protected function setUp(): void
|
||||
{
|
||||
parent::setUp();
|
||||
$this->actingAs(factory(\App\Models\User::class, 'superAdmin')->create());
|
||||
$this->actingAs(factory(\App\Models\User::class)->states('superAdmin')->create());
|
||||
}
|
||||
|
||||
public function testDownload()
|
||||
|
|
|
|||
|
|
@ -293,7 +293,7 @@ class PlayerControllerTest extends TestCase
|
|||
$player = factory(Player::class)->create();
|
||||
$user = $player->user;
|
||||
$skin = factory(Texture::class)->create();
|
||||
$cape = factory(Texture::class, 'cape')->create();
|
||||
$cape = factory(Texture::class)->states('cape')->create();
|
||||
|
||||
// Set a not-existed texture
|
||||
$this->actingAs($user)
|
||||
|
|
|
|||
|
|
@ -73,7 +73,7 @@ class PluginControllerTest extends TestCase
|
|||
|
||||
// Plugin is enabled but it doesn't have config view
|
||||
$this->get('/admin/plugins/config/fake3')
|
||||
->assertSee(e(trans('admin.plugins.operations.no-config-notice')))
|
||||
->assertSee(trans('admin.plugins.operations.no-config-notice'))
|
||||
->assertNotFound();
|
||||
|
||||
// Plugin has config view
|
||||
|
|
|
|||
|
|
@ -121,7 +121,7 @@ class ReportControllerTest extends TestCase
|
|||
public function testManage()
|
||||
{
|
||||
$uploader = factory(User::class)->create();
|
||||
$reporter = factory(User::class, 'admin')->create();
|
||||
$reporter = factory(User::class)->states('admin')->create();
|
||||
$texture = factory(Texture::class)->create(['uploader' => $uploader->uid]);
|
||||
|
||||
$report = new Report();
|
||||
|
|
@ -152,7 +152,7 @@ class ReportControllerTest extends TestCase
|
|||
{
|
||||
Event::fake();
|
||||
|
||||
$admin = factory(User::class, 'admin')->create();
|
||||
$admin = factory(User::class)->states('admin')->create();
|
||||
$texture = factory(Texture::class)->create(['uploader' => $admin->uid]);
|
||||
|
||||
$report = new Report();
|
||||
|
|
@ -200,7 +200,7 @@ class ReportControllerTest extends TestCase
|
|||
|
||||
$uploader = factory(User::class)->create();
|
||||
$reporter = factory(User::class)->create();
|
||||
$admin = factory(User::class, 'admin')->create();
|
||||
$admin = factory(User::class)->states('admin')->create();
|
||||
$texture = factory(Texture::class)->create(['uploader' => $uploader->uid]);
|
||||
|
||||
$report = new Report();
|
||||
|
|
@ -257,7 +257,7 @@ class ReportControllerTest extends TestCase
|
|||
|
||||
$uploader = factory(User::class)->create();
|
||||
$reporter = factory(User::class)->create();
|
||||
$admin = factory(User::class, 'admin')->create();
|
||||
$admin = factory(User::class)->states('admin')->create();
|
||||
$texture = factory(Texture::class)->create(['uploader' => $uploader->uid]);
|
||||
|
||||
$report = new Report();
|
||||
|
|
@ -317,7 +317,7 @@ class ReportControllerTest extends TestCase
|
|||
|
||||
$uploader = factory(User::class)->create();
|
||||
$reporter = factory(User::class)->create();
|
||||
$admin = factory(User::class, 'admin')->create();
|
||||
$admin = factory(User::class)->states('admin')->create();
|
||||
$texture = factory(Texture::class)->create(['uploader' => $uploader->uid]);
|
||||
|
||||
$report = new Report();
|
||||
|
|
@ -362,7 +362,7 @@ class ReportControllerTest extends TestCase
|
|||
|
||||
$uploader = factory(User::class)->create();
|
||||
$reporter = factory(User::class)->create();
|
||||
$admin = factory(User::class, 'admin')->create();
|
||||
$admin = factory(User::class)->states('admin')->create();
|
||||
$texture = factory(Texture::class)->create(['uploader' => $uploader->uid]);
|
||||
|
||||
$report = new Report();
|
||||
|
|
|
|||
|
|
@ -24,10 +24,10 @@ class SkinlibControllerTest extends TestCase
|
|||
'total_pages' => 0,
|
||||
]]);
|
||||
|
||||
$steves = factory(Texture::class)->times(5)->create();
|
||||
$alexs = factory(Texture::class, 'alex')->times(5)->create();
|
||||
$steves = factory(Texture::class, 5)->create();
|
||||
$alexs = factory(Texture::class, 5)->states('alex')->create();
|
||||
$skins = $steves->merge($alexs);
|
||||
$capes = factory(Texture::class, 'cape')->times(5)->create();
|
||||
$capes = factory(Texture::class, 5)->states('cape')->create();
|
||||
|
||||
// Default arguments
|
||||
$items = $this->getJson('/skinlib/data')
|
||||
|
|
@ -250,7 +250,7 @@ class SkinlibControllerTest extends TestCase
|
|||
}));
|
||||
|
||||
// Administrators can see private textures
|
||||
$admin = factory(User::class, 'admin')->create();
|
||||
$admin = factory(User::class)->states('admin')->create();
|
||||
$items = $this->actingAs($admin)
|
||||
->getJson('/skinlib/data')
|
||||
->assertJson(['data' => [
|
||||
|
|
@ -381,7 +381,6 @@ class SkinlibControllerTest extends TestCase
|
|||
$file->path(),
|
||||
'test.png',
|
||||
'image/png',
|
||||
50,
|
||||
UPLOAD_ERR_NO_TMP_DIR,
|
||||
true
|
||||
);
|
||||
|
|
@ -942,7 +941,7 @@ class SkinlibControllerTest extends TestCase
|
|||
]);
|
||||
$this->assertEquals('steve', Texture::find($texture->tid)->type);
|
||||
|
||||
$duplicate = factory(Texture::class, 'alex')->create([
|
||||
$duplicate = factory(Texture::class)->states('alex')->create([
|
||||
'uploader' => $other->uid,
|
||||
'hash' => $texture->hash,
|
||||
]);
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ class TextureControllerTest extends TestCase
|
|||
$this->get('/preview/'.$skin->tid)->assertHeader('Content-Type', 'image/png');
|
||||
$this->assertTrue(Cache::has('preview-t'.$skin->tid));
|
||||
|
||||
$cape = factory(Texture::class, 'cape')->create();
|
||||
$cape = factory(Texture::class)->states('cape')->create();
|
||||
$disk->put($cape->hash, '');
|
||||
$this->get('/preview/'.$cape->tid.'?height=100')->assertHeader('Content-Type', 'image/png');
|
||||
$this->assertTrue(Cache::has('preview-t'.$cape->tid));
|
||||
|
|
|
|||
|
|
@ -46,7 +46,7 @@ class UserControllerTest extends TestCase
|
|||
$this->actingAs($user)
|
||||
->get('/user')
|
||||
->assertViewHas('statistics')
|
||||
->assertSee((new Parsedown())->text(option_localized('announcement')))
|
||||
->assertSee((new Parsedown())->text(option_localized('announcement')), false)
|
||||
->assertSee((string) $user->score);
|
||||
$filter->assertApplied('grid:user.index');
|
||||
$filter->assertApplied('user_avatar', function ($url, $user) use ($uid) {
|
||||
|
|
@ -513,7 +513,7 @@ class UserControllerTest extends TestCase
|
|||
$user = factory(User::class)->create();
|
||||
$uid = $user->uid;
|
||||
$steve = factory(\App\Models\Texture::class)->create();
|
||||
$cape = factory(\App\Models\Texture::class, 'cape')->create();
|
||||
$cape = factory(\App\Models\Texture::class)->states('cape')->create();
|
||||
|
||||
// Without `tid` field
|
||||
$this->actingAs($user)
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@ class CheckInstallationTest extends TestCase
|
|||
['version' => config('app.version')]
|
||||
));
|
||||
|
||||
$this->actingAs(factory(User::class, 'superAdmin')->make());
|
||||
$this->actingAs(factory(User::class)->states('superAdmin')->make());
|
||||
$this->mock(Filesystem::class, function ($mock) {
|
||||
$mock->shouldReceive('exists')
|
||||
->with(storage_path('install.lock'))
|
||||
|
|
|
|||
|
|
@ -12,13 +12,13 @@ class CheckRole extends TestCase
|
|||
->get('/admin')
|
||||
->assertForbidden();
|
||||
|
||||
$this->actAs(factory(User::class, 'admin')->create())
|
||||
$this->actAs(factory(User::class)->states('admin')->create())
|
||||
->get('/admin')
|
||||
->assertSuccessful();
|
||||
|
||||
$this->get('/admin/update')->assertForbidden();
|
||||
|
||||
$this->actAs(factory(User::class, 'superAdmin')->create())
|
||||
$this->actAs(factory(User::class)->states('superAdmin')->create())
|
||||
->get('/admin/update')
|
||||
->assertSuccessful();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,8 +7,8 @@ class ForbiddenIETest extends TestCase
|
|||
public function testHandle()
|
||||
{
|
||||
$this->get('/', ['user-agent' => 'MSIE'])
|
||||
->assertSee(e(trans('errors.http.ie')));
|
||||
->assertSee(trans('errors.http.ie'));
|
||||
$this->get('/', ['user-agent' => 'Trident'])
|
||||
->assertSee(e(trans('errors.http.ie')));
|
||||
->assertSee(trans('errors.http.ie'));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ class RedirectToSetupTest extends TestCase
|
|||
|
||||
public function testHandle()
|
||||
{
|
||||
$superAdmin = factory(User::class, 'superAdmin')->create();
|
||||
$superAdmin = factory(User::class)->states('superAdmin')->create();
|
||||
|
||||
$current = config('app.version');
|
||||
config(['app.version' => '100.0.0']);
|
||||
|
|
|
|||
|
|
@ -8,7 +8,7 @@ class RejectBannedUserTest extends TestCase
|
|||
{
|
||||
public function testHandle()
|
||||
{
|
||||
$user = factory(User::class, 'banned')->make();
|
||||
$user = factory(User::class)->states('banned')->make();
|
||||
$this->actingAs($user)->get('/user')->assertForbidden();
|
||||
$this->get('/user', ['accept' => 'application/json'])
|
||||
->assertForbidden()
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ class FootComposerTest extends TestCase
|
|||
]);
|
||||
$user = factory(User::class)->create();
|
||||
$this->actingAs($user);
|
||||
$this->get('/user')->assertSee('"<div></div>"');
|
||||
$this->get('/user')->assertSee('"<div></div>"', false);
|
||||
$crawler = new Crawler($this->get('/user')->getContent());
|
||||
$this->assertCount(0, $crawler->filter('#disallowed'));
|
||||
|
||||
|
|
@ -62,6 +62,6 @@ class FootComposerTest extends TestCase
|
|||
|
||||
$user = factory(User::class)->create();
|
||||
$this->actingAs($user);
|
||||
$this->get('/user')->assertSee('<div id=appended></div>');
|
||||
$this->get('/user')->assertSee('<div id=appended></div>', false);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -63,6 +63,6 @@ class HeadComposerTest extends TestCase
|
|||
$event->contents[] = '<meta name=appended>';
|
||||
});
|
||||
|
||||
$this->get('/')->assertSee('<meta name=appended>');
|
||||
$this->get('/')->assertSee('<meta name=appended>', false);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -7,6 +7,6 @@ class LanguagesMenuComposerTest extends TestCase
|
|||
public function testCompose()
|
||||
{
|
||||
$this->get('/')->assertSee('?lang=en')->assertDontSee('en_US');
|
||||
$this->get('/?key=value')->assertSee('?key=value&lang=en');
|
||||
$this->get('/?key=value')->assertSee('?key=value&lang=en');
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ class SideMenuComposerTest extends TestCase
|
|||
{
|
||||
Event::fake();
|
||||
|
||||
$admin = factory(User::class, 'admin')->create();
|
||||
$admin = factory(User::class)->states('admin')->create();
|
||||
$this->actingAs($admin)->get('/user');
|
||||
Event::assertDispatched(Events\ConfigureUserMenu::class);
|
||||
Event::assertDispatched(Events\ConfigureExploreMenu::class);
|
||||
|
|
@ -53,7 +53,7 @@ class SideMenuComposerTest extends TestCase
|
|||
);
|
||||
});
|
||||
|
||||
$admin = factory(User::class, 'admin')->create();
|
||||
$admin = factory(User::class)->states('admin')->create();
|
||||
$this->actingAs($admin)
|
||||
->get('/admin')
|
||||
->assertDontSee(trans('general.plugin-configs'));
|
||||
|
|
|
|||
|
|
@ -25,11 +25,11 @@ class UserPanelComposerTest extends TestCase
|
|||
});
|
||||
|
||||
$this->get('/user')
|
||||
->assertSee('<span class="badge bg-purple mb-1 mr-2">Pro</span>');
|
||||
->assertSee('<span class="badge bg-purple mb-1 mr-2">Pro</span>', false);
|
||||
|
||||
$user->permission = User::ADMIN;
|
||||
$user->save();
|
||||
$this->get('/user')
|
||||
->assertSee('<span class="badge bg-primary mb-1 mr-2">STAFF</span>');
|
||||
->assertSee('<span class="badge bg-primary mb-1 mr-2">STAFF</span>', false);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ class PlayerTest extends TestCase
|
|||
$player = factory(Player::class)->create();
|
||||
$this->assertEquals('default', $player->model);
|
||||
|
||||
$alex = factory(Texture::class, 'alex')->create();
|
||||
$alex = factory(Texture::class)->states('alex')->create();
|
||||
$player->tid_skin = $alex->tid;
|
||||
$player->save();
|
||||
$player->refresh();
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ class HookTest extends TestCase
|
|||
->get('/user')
|
||||
->assertSee('Link A')
|
||||
->assertSee('/to/a')
|
||||
->assertSee('target="_blank"')
|
||||
->assertSee('target="_blank"', false)
|
||||
->assertSee('fa-book');
|
||||
|
||||
// Out of bound
|
||||
|
|
@ -55,26 +55,26 @@ class HookTest extends TestCase
|
|||
{
|
||||
Hook::addStyleFileToPage('/style/all');
|
||||
$this->get('/')
|
||||
->assertSee('<link rel="stylesheet" href="/style/all">');
|
||||
->assertSee('<link rel="stylesheet" href="/style/all">', false);
|
||||
|
||||
Hook::addStyleFileToPage('/style/pattern', ['skinlib']);
|
||||
$this->get('/')
|
||||
->assertDontSee('<link rel="stylesheet" href="/style/pattern">');
|
||||
$this->get('/skinlib')
|
||||
->assertSee('<link rel="stylesheet" href="/style/pattern">');
|
||||
->assertSee('<link rel="stylesheet" href="/style/pattern">', false);
|
||||
}
|
||||
|
||||
public function testAddScriptFileToPage()
|
||||
{
|
||||
Hook::addScriptFileToPage('/script/all');
|
||||
$this->get('/')
|
||||
->assertSee('<script src="/script/all"></script>');
|
||||
->assertSee('<script src="/script/all"></script>', false);
|
||||
|
||||
Hook::addScriptFileToPage('/script/pattern', ['skinlib']);
|
||||
$this->get('/')
|
||||
->assertDontSee('<script src="/script/pattern"></script>');
|
||||
$this->get('/skinlib')
|
||||
->assertSee('<script src="/script/pattern"></script>');
|
||||
->assertSee('<script src="/script/pattern"></script>', false);
|
||||
}
|
||||
|
||||
public function testAddUserBadge()
|
||||
|
|
@ -82,7 +82,7 @@ class HookTest extends TestCase
|
|||
Hook::addUserBadge('hi', 'green');
|
||||
$this->actAs('normal')
|
||||
->get('/user')
|
||||
->assertSee('<span class="badge bg-green mb-1 mr-2">hi</span>');
|
||||
->assertSee('<span class="badge bg-green mb-1 mr-2">hi</span>', false);
|
||||
}
|
||||
|
||||
public function testSendNotification()
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ class TestCase extends \Illuminate\Foundation\Testing\TestCase
|
|||
if ($role == 'normal') {
|
||||
$role = factory(\App\Models\User::class)->create();
|
||||
} else {
|
||||
$role = factory(\App\Models\User::class, $role)->create();
|
||||
$role = factory(\App\Models\User::class)->states($role)->create();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user