refactor routes

This commit is contained in:
Pig Fang 2020-01-13 08:37:57 +08:00
parent 1807309449
commit 092eedfdf4
27 changed files with 209 additions and 199 deletions

View File

@ -23,8 +23,7 @@ class UserMenuComposer
public function compose(View $view)
{
$user = auth()->user();
$email = base64_encode($user->email);
$avatarUrl = url('/avatar/user/'.$user->uid.'?size=25');
$avatarUrl = route('avatar.user', ['uid' => $user->uid, 'size' => 25]);
$avatar = $this->filter->apply('user_avatar', $avatarUrl, [$user]);
$view->with(compact('user', 'avatar'));

View File

@ -23,7 +23,7 @@ class UserPanelComposer
public function compose(View $view)
{
$user = auth()->user();
$avatarUrl = url('/avatar/user/'.$user->uid.'?size=45');
$avatarUrl = route('avatar.user', ['uid' => $user->uid, 'size' => 45]);
$avatar = $this->filter->apply('user_avatar', $avatarUrl, [$user]);
$badges = [];

View File

@ -130,7 +130,7 @@ export default {
},
methods: {
async fetchData() {
this.plugins = await this.$http.get('/admin/plugins/market-data')
this.plugins = await this.$http.get('/admin/plugins/market/list')
},
async installPlugin({ name, originalIndex }) {
this.installing = name

View File

@ -149,7 +149,7 @@ export default {
methods: {
async fetchData() {
const { data, totalRecords } = await this.$http.get(
`/admin/player-data${location.search}`,
`/admin/players/list${location.search}`,
!location.search && this.serverParams,
)
this.totalRecords = totalRecords

View File

@ -110,7 +110,7 @@ export default {
methods: {
async fetchData() {
const { data, totalRecords } = await this.$http.get(
'/admin/report-data',
'/admin/reports/list',
this.serverParams,
)
this.totalRecords = totalRecords

View File

@ -199,7 +199,7 @@ export default {
methods: {
async fetchData() {
const { data, totalRecords } = await this.$http.get(
`/admin/user-data${location.search}`,
`/admin/users/list${location.search}`,
!location.search && this.serverParams,
)
this.totalRecords = totalRecords

View File

@ -245,7 +245,7 @@ export default {
items, category, total_pages: totalPages,
},
} = await this.$http.get(
'/user/closet-data',
'/user/closet/list',
{
category: this.category,
q: this.query,

View File

@ -75,7 +75,7 @@ export default {
},
methods: {
async fetchData() {
this.reports = await this.$http.get('/user/report-list')
this.reports = await this.$http.get('/user/reports/list')
},
},
}

View File

@ -11,7 +11,7 @@ test('fetch data after initializing', () => {
Vue.prototype.$http.get.mockResolvedValue({ data: [] })
mount(Players)
expect(Vue.prototype.$http.get).toBeCalledWith(
'/admin/player-data',
'/admin/players/list',
{
page: 1, perPage: 10, search: '', sortField: 'pid', sortType: 'asc',
},

View File

@ -15,7 +15,7 @@ test('fetch data after initializing', () => {
Vue.prototype.$http.get.mockResolvedValue({ data: [] })
mount(Users)
expect(Vue.prototype.$http.get).toBeCalledWith(
'/admin/user-data',
'/admin/users/list',
{
page: 1, perPage: 10, search: '', sortField: 'uid', sortType: 'asc',
},

View File

@ -14,7 +14,7 @@ test('fetch closet data before mount', () => {
mount(Closet)
jest.runAllTicks()
expect(Vue.prototype.$http.get).toBeCalledWith(
'/user/closet-data',
'/user/closet/list',
{
category: 'skin',
q: '',
@ -46,7 +46,7 @@ test('switch tabs', () => {
.trigger('click')
jest.runAllTicks()
expect(Vue.prototype.$http.get).toBeCalledWith(
'/user/closet-data',
'/user/closet/list',
{
category: 'skin',
q: '',
@ -59,7 +59,7 @@ test('switch tabs', () => {
.trigger('click')
jest.runAllTicks()
expect(Vue.prototype.$http.get).toBeCalledWith(
'/user/closet-data',
'/user/closet/list',
{
category: 'cape',
q: '',
@ -100,7 +100,7 @@ test('search textures', () => {
jest.runAllTimers()
jest.runAllTicks()
expect(Vue.prototype.$http.get).toBeCalledWith(
'/user/closet-data',
'/user/closet/list',
{
category: 'skin',
q: 'q',

View File

@ -1,6 +1,6 @@
<?php
Route::any('/', 'HomeController@apiRoot');
Route::any('', 'HomeController@apiRoot');
Route::prefix('auth')->group(function () {
Route::post('login', 'AuthController@jwtLogin');

View File

@ -1,14 +1,15 @@
<?php
Route::get('/{player}.json', 'TextureController@json');
Route::get('/csl/{player}.json', 'TextureController@json');
Route::get('{player}.json', 'TextureController@json');
Route::get('csl/{player}.json', 'TextureController@json');
Route::get('/textures/{hash}', 'TextureController@texture');
Route::get('textures/{hash}', 'TextureController@texture');
Route::get('raw/{tid}', 'TextureController@raw');
Route::get('/avatar/player/{name}', 'TextureController@avatarByPlayer');
Route::get('/avatar/user/{uid}', 'TextureController@avatarByUser');
Route::get('/avatar/{tid}', 'TextureController@avatarByTexture');
Route::prefix('avatar')->name('avatar.')->group(function () {
Route::get('player/{name}', 'TextureController@avatarByPlayer')->name('player');
Route::get('user/{uid}', 'TextureController@avatarByUser')->name('user');
Route::get('{tid}', 'TextureController@avatarByTexture')->name('texture');
});
Route::get('/raw/{tid}', 'TextureController@raw');
Route::get('/preview/{tid}', 'TextureController@preview');
Route::get('preview/{tid}', 'TextureController@preview');

View File

@ -13,173 +13,181 @@ use App\Http\Middleware;
|
*/
Route::get('/', 'HomeController@index');
Route::get('/index.php', 'HomeController@index');
Route::get('', 'HomeController@index');
Route::get('/locale/{lang}', 'HomeController@locale');
Route::prefix('auth')->name('auth.')->group(function () {
Route::middleware('guest')->group(function () {
Route::get('login', 'AuthController@login')->name('login');
Route::post('login', 'AuthController@handleLogin')->name('login');
/*
* Auth
*/
Route::group(['prefix' => 'auth'], function () {
Route::group(['middleware' => 'guest'], function () {
Route::get('/login', 'AuthController@login');
Route::get('/register', 'AuthController@register');
Route::get('/forgot', 'AuthController@forgot');
Route::get('/reset/{uid}', 'AuthController@reset')->name('auth.reset')->middleware('signed');
Route::get('register', 'AuthController@register')->name('register');
Route::post('register', 'AuthController@handleRegister')->name('register');
Route::get('/login/{driver}', 'AuthController@oauthLogin');
Route::get('/login/{driver}/callback', 'AuthController@oauthCallback');
Route::get('forgot', 'AuthController@forgot')->name('forgot');
Route::post('forgot', 'AuthController@handleForgot')->name('forgot');
Route::middleware('signed')->name('reset')->group(function () {
Route::get('reset/{uid}', 'AuthController@reset');
Route::post('reset/{uid}', 'AuthController@handleReset');
});
Route::get('login/{driver}', 'AuthController@oauthLogin');
Route::get('login/{driver}/callback', 'AuthController@oauthCallback');
});
Route::post('/logout', 'AuthController@logout')->middleware('authorize');
Route::any('/captcha', 'AuthController@captcha');
Route::post('logout', 'AuthController@logout')->name('logout')->middleware('authorize');
Route::any('captcha', 'AuthController@captcha');
Route::post('/login', 'AuthController@handleLogin');
Route::post('/register', 'AuthController@handleRegister');
Route::post('/forgot', 'AuthController@handleForgot');
Route::post('/reset/{uid}', 'AuthController@handleReset')->middleware('signed');
Route::view('/bind', 'auth.bind')->middleware(['authorize', Middleware\EnsureEmailFilled::class]);
Route::post('/bind', 'AuthController@fillEmail')->middleware(['authorize', Middleware\EnsureEmailFilled::class]);
Route::get('/verify/{uid}', 'AuthController@verify')->name('auth.verify')->middleware('signed');
Route::middleware(['authorize', Middleware\EnsureEmailFilled::class])
->name('bind')
->group(function () {
Route::view('bind', 'auth.bind');
Route::post('bind', 'AuthController@fillEmail');
});
Route::get('verify/{uid}', 'AuthController@verify')->name('verify')->middleware('signed');
});
/*
* User Center
*/
Route::group([
'middleware' => ['authorize', Middleware\RequireBindPlayer::class],
'prefix' => 'user',
], function () {
Route::any('', 'UserController@index');
Route::get('/notifications/{id}', 'UserController@readNotification');
Route::get('/score-info', 'UserController@scoreInfo');
Route::post('/sign', 'UserController@sign');
Route::prefix('user')
->name('user.')
->middleware(['authorize', Middleware\RequireBindPlayer::class])
->group(function () {
Route::get('', 'UserController@index')->name('home');
Route::get('notifications/{id}', 'UserController@readNotification')->name('notification');
Route::get('score-info', 'UserController@scoreInfo')->name('score');
Route::post('sign', 'UserController@sign')->name('sign');
Route::view('/reports', 'user.report');
Route::get('/report-list', 'ReportController@track');
Route::prefix('reports')->group(function () {
Route::view('', 'user.report');
Route::get('list', 'ReportController@track');
});
// Profile
Route::get('/profile', 'UserController@profile');
Route::post('/profile', 'UserController@handleProfile');
Route::post('/profile/avatar', 'UserController@setAvatar');
Route::prefix('profile')->group(function () {
Route::get('', 'UserController@profile')->name('profile');
Route::post('', 'UserController@handleProfile')->name('profile');
Route::post('avatar', 'UserController@setAvatar')->name('profile.avatar');
});
// Email Verification
Route::post('/email-verification', 'UserController@sendVerificationEmail');
Route::post('email-verification', 'UserController@sendVerificationEmail');
// Player
Route::group(['prefix' => 'player', 'middleware' => 'verified'], function () {
Route::any('', 'PlayerController@index');
Route::get('/list', 'PlayerController@listAll');
Route::post('/add', 'PlayerController@add');
Route::post('/set/{pid}', 'PlayerController@setTexture');
Route::post('/texture/clear/{pid}', 'PlayerController@clearTexture');
Route::post('/rename/{pid}', 'PlayerController@rename');
Route::post('/delete/{pid}', 'PlayerController@delete');
Route::view('/bind', 'user.bind');
Route::post('/bind', 'PlayerController@bind');
Route::prefix('player')
->name('player.')
->middleware('verified')
->group(function () {
Route::get('', 'PlayerController@index')->name('page');
Route::get('list', 'PlayerController@listAll')->name('list');
Route::post('add', 'PlayerController@add')->name('add');
Route::post('set/{pid}', 'PlayerController@setTexture')->name('set');
Route::post('texture/clear/{pid}', 'PlayerController@clearTexture')->name('clear');
Route::post('rename/{pid}', 'PlayerController@rename')->name('rename');
Route::post('delete/{pid}', 'PlayerController@delete')->name('delete');
Route::view('bind', 'user.bind')->name('bind');
Route::post('bind', 'PlayerController@bind')->name('bind');
});
Route::prefix('closet')->name('closet.')->group(function () {
Route::get('', 'ClosetController@index')->name('page');
Route::get('list', 'ClosetController@getClosetData')->name('list');
Route::post('add', 'ClosetController@add')->name('add');
Route::post('remove/{tid}', 'ClosetController@remove')->name('remove');
Route::post('rename/{tid}', 'ClosetController@rename')->name('rename');
});
// OAuth2 Management
Route::view('oauth/manage', 'user.oauth')->middleware('verified');
});
// Closet
Route::get('/closet', 'ClosetController@index');
Route::get('/closet-data', 'ClosetController@getClosetData');
Route::post('/closet/add', 'ClosetController@add');
Route::post('/closet/remove/{tid}', 'ClosetController@remove');
Route::post('/closet/rename/{tid}', 'ClosetController@rename');
Route::prefix('skinlib')->name('skinlib.')->group(function () {
Route::view('', 'skinlib.index')->name('home');
Route::any('info/{tid}', 'SkinlibController@info')->name('info');
Route::any('show/{tid}', 'SkinlibController@show')->name('show');
Route::any('data', 'SkinlibController@getSkinlibFiltered')->name('list');
// OAuth2 Management
Route::view('/oauth/manage', 'user.oauth')->middleware('verified');
});
/*
* Skin Library
*/
Route::group(['prefix' => 'skinlib'], function () {
Route::view('', 'skinlib.index');
Route::any('/info/{tid}', 'SkinlibController@info');
Route::any('/show/{tid}', 'SkinlibController@show');
Route::any('/data', 'SkinlibController@getSkinlibFiltered');
Route::group([
'middleware' => ['authorize', 'verified'],
], function () {
Route::get('/upload', 'SkinlibController@upload');
Route::post('/upload', 'SkinlibController@handleUpload');
Route::post('/model', 'SkinlibController@model');
Route::post('/rename', 'SkinlibController@rename');
Route::post('/privacy', 'SkinlibController@privacy');
Route::post('/delete', 'SkinlibController@delete');
Route::post('/report', 'ReportController@submit');
Route::middleware(['authorize', 'verified'])->group(function () {
Route::prefix('upload')->name('upload')->group(function () {
Route::get('', 'SkinlibController@upload');
Route::post('', 'SkinlibController@handleUpload');
});
Route::post('model', 'SkinlibController@model');
Route::post('rename', 'SkinlibController@rename');
Route::post('privacy', 'SkinlibController@privacy');
Route::post('delete', 'SkinlibController@delete');
Route::post('report', 'ReportController@submit');
});
});
/*
* Admin Panel
*/
Route::group(['middleware' => ['authorize', 'admin'], 'prefix' => 'admin'], function () {
Route::get('/', 'AdminController@index');
Route::get('/chart', 'AdminController@chartData');
Route::post('/notifications/send', 'AdminController@sendNotification');
Route::prefix('admin')
->name('admin.')
->middleware(['authorize', 'admin'])
->group(function () {
Route::get('', 'AdminController@index');
Route::get('chart', 'AdminController@chartData');
Route::post('notifications/send', 'AdminController@sendNotification');
Route::any('/customize', 'AdminController@customize');
Route::any('/score', 'AdminController@score');
Route::any('/options', 'AdminController@options');
Route::any('/resource', 'AdminController@resource');
Route::any('customize', 'AdminController@customize');
Route::any('score', 'AdminController@score');
Route::any('options', 'AdminController@options');
Route::any('resource', 'AdminController@resource');
Route::get('/status', 'AdminController@status');
Route::get('status', 'AdminController@status');
Route::view('/users', 'admin.users');
Route::post('/users', 'AdminController@userAjaxHandler');
Route::any('/user-data', 'AdminController@getUserData');
Route::prefix('users')->group(function () {
Route::view('', 'admin.users');
Route::post('', 'AdminController@userAjaxHandler');
Route::get('list', 'AdminController@getUserData');
});
Route::view('/players', 'admin.players');
Route::post('/players', 'AdminController@playerAjaxHandler');
Route::any('/player-data', 'AdminController@getPlayerData');
Route::prefix('players')->group(function () {
Route::view('', 'admin.players');
Route::post('', 'AdminController@playerAjaxHandler');
Route::get('list', 'AdminController@getPlayerData');
});
Route::view('/reports', 'admin.reports');
Route::post('/reports', 'ReportController@review');
Route::any('/report-data', 'ReportController@manage');
Route::prefix('reports')->group(function () {
Route::view('', 'admin.reports');
Route::post('', 'ReportController@review');
Route::any('list', 'ReportController@manage');
});
Route::group(['prefix' => 'i18n'], function () {
Route::view('', 'admin.i18n');
Route::get('list', 'TranslationsController@list');
Route::post('', 'TranslationsController@create');
Route::put('', 'TranslationsController@update');
Route::delete('', 'TranslationsController@delete');
Route::prefix('i18n')->group(function () {
Route::view('', 'admin.i18n');
Route::get('list', 'TranslationsController@list');
Route::post('', 'TranslationsController@create');
Route::put('', 'TranslationsController@update');
Route::delete('', 'TranslationsController@delete');
});
Route::prefix('plugins')->group(function () {
Route::get('data', 'PluginController@getPluginData');
Route::view('manage', 'admin.plugins');
Route::post('manage', 'PluginController@manage');
Route::any('config/{name}', 'PluginController@config');
Route::get('readme/{name}', 'PluginController@readme');
Route::prefix('market')->group(function () {
Route::view('', 'admin.market');
Route::get('list', 'MarketController@marketData');
Route::post('download', 'MarketController@download');
});
});
Route::prefix('update')->middleware('super-admin')->group(function () {
Route::get('', 'UpdateController@showUpdatePage');
Route::post('download', 'UpdateController@download');
});
});
Route::group(['prefix' => 'plugins', 'middleware' => 'super-admin'], function () {
Route::get('/data', 'PluginController@getPluginData');
Route::view('/manage', 'admin.plugins');
Route::post('/manage', 'PluginController@manage');
Route::any('/config/{name}', 'PluginController@config');
Route::get('/readme/{name}', 'PluginController@readme');
Route::view('/market', 'admin.market');
Route::get('/market-data', 'MarketController@marketData');
Route::post('/market/download', 'MarketController@download');
Route::prefix('setup')->group(function () {
Route::middleware('setup')->group(function () {
Route::view('', 'setup.wizard.welcome');
Route::any('database', 'SetupController@database');
Route::view('info', 'setup.wizard.info');
Route::post('finish', 'SetupController@finish');
});
Route::group(['prefix' => 'update', 'middleware' => 'super-admin'], function () {
Route::any('', 'UpdateController@showUpdatePage');
Route::any('/download', 'UpdateController@download');
});
});
/*
* Setup and Update
*/
Route::group(['prefix' => 'setup'], function () {
Route::group(['middleware' => 'setup'], function () {
Route::view('/', 'setup.wizard.welcome');
Route::any('/database', 'SetupController@database');
Route::view('/info', 'setup.wizard.info');
Route::post('/finish', 'SetupController@finish');
});
Route::group(['middleware' => 'authorize'], function () {
Route::view('/update', 'setup.updates.welcome')->middleware('setup');
Route::any('/exec-update', 'UpdateController@update')->middleware('setup');
Route::middleware('authorize')->group(function () {
Route::view('update', 'setup.updates.welcome')->middleware('setup');
Route::any('exec-update', 'UpdateController@update')->middleware('setup');
});
});

View File

@ -151,7 +151,7 @@ class AdminControllerTest extends TestCase
public function testGetUserData()
{
$this->getJson('/admin/user-data')
$this->getJson('/admin/users/list')
->assertJsonStructure([
'data' => [[
'uid',
@ -166,7 +166,7 @@ class AdminControllerTest extends TestCase
]);
$user = factory(User::class)->create();
$this->getJson('/admin/user-data?uid='.$user->uid)
$this->getJson('/admin/users/list?uid='.$user->uid)
->assertJson([
'data' => [[
'uid' => $user->uid,
@ -189,7 +189,7 @@ class AdminControllerTest extends TestCase
$player = factory(Player::class)->create();
$user = $player->user;
$this->getJson('/admin/player-data')
$this->getJson('/admin/players/list')
->assertJsonStructure([
'data' => [[
'pid',
@ -201,7 +201,7 @@ class AdminControllerTest extends TestCase
]],
]);
$this->getJson('/admin/player-data?uid='.$user->uid)
$this->getJson('/admin/players/list?uid='.$user->uid)
->assertJson([
'data' => [[
'pid' => $player->pid,

View File

@ -177,6 +177,7 @@ class AuthControllerTest extends TestCase
$this->flushSession();
// Logged in should be in success if logged in with player name
auth()->logout();
$this->postJson(
'/auth/login', [
'identification' => $player->name,
@ -453,6 +454,7 @@ class AuthControllerTest extends TestCase
// Require player name
option(['register_with_player_name' => true]);
auth()->logout();
$this->postJson(
'/auth/register',
[

View File

@ -38,7 +38,7 @@ class ClosetControllerTest extends TestCase
});
// Use default query parameters
$this->getJson('/user/closet-data')
$this->getJson('/user/closet/list')
->assertJsonStructure([
'data' => [
'category',
@ -48,17 +48,17 @@ class ClosetControllerTest extends TestCase
]);
// Responsive
$result = $this->json('get', '/user/closet-data?perPage=0')->json()['data'];
$result = $this->json('get', '/user/closet/list?perPage=0')->json()['data'];
$this->assertCount(6, $result['items']);
$result = $this->json('get', '/user/closet-data?perPage=8')->json()['data'];
$result = $this->json('get', '/user/closet/list?perPage=8')->json()['data'];
$this->assertCount(8, $result['items']);
$result = $this->json('get', '/user/closet-data?perPage=8&page=2')->json()['data'];
$result = $this->json('get', '/user/closet/list?perPage=8&page=2')->json()['data'];
$this->assertCount(2, $result['items']);
// Get capes
$cape = factory(Texture::class, 'cape')->create();
$this->user->closet()->attach($cape->tid, ['item_name' => 'custom_name']);
$this->getJson('/user/closet-data?category=cape')
$this->getJson('/user/closet/list?category=cape')
->assertJson(['data' => [
'category' => 'cape',
'total_pages' => 1,
@ -71,7 +71,7 @@ class ClosetControllerTest extends TestCase
// Search by keyword
$random = $textures->random();
$this->getJson('/user/closet-data?q='.$random->name)
$this->getJson('/user/closet/list?q='.$random->name)
->assertJson(['data' => [
'category' => 'skin',
'total_pages' => 1,

View File

@ -119,7 +119,7 @@ class MarketControllerTest extends TestCase
]);
// Expected an exception, but unable to be asserted.
$this->getJson('/admin/plugins/market-data');
$this->getJson('/admin/plugins/market/list');
$this->mock(PluginManager::class, function ($mock) {
$mock->shouldReceive('get')
@ -132,7 +132,7 @@ class MarketControllerTest extends TestCase
->andReturn(null);
$mock->shouldReceive('getUnsatisfied')->twice();
});
$this->getJson('/admin/plugins/market-data')
$this->getJson('/admin/plugins/market/list')
->assertJsonStructure([
[
'name',
@ -146,7 +146,7 @@ class MarketControllerTest extends TestCase
],
]);
$this->getJson('/admin/plugins/market-data')
$this->getJson('/admin/plugins/market/list')
->assertJson(['message' => 'Only version 1 of market registry is accepted.']);
}
}

View File

@ -113,7 +113,7 @@ class ReportControllerTest extends TestCase
$report->save();
$this->actingAs($user)
->getJson('/user/report-list')
->getJson('/user/reports/list')
->assertJson([[
'tid' => 1,
'reason' => 'test',
@ -136,7 +136,7 @@ class ReportControllerTest extends TestCase
$report->save();
$this->actingAs($reporter)
->getJson('/admin/report-data')
->getJson('/admin/reports/list')
->assertJson([
'totalRecords' => 1,
'data' => [[

View File

@ -60,7 +60,7 @@ class UpdateControllerTest extends TestCase
$this->appendToGuzzleQueue([
new Response(200, [], $this->mockFakeUpdateInfo('1.2.3')),
]);
$this->getJson('/admin/update/download')
$this->postJson('/admin/update/download')
->assertJson([
'code' => 1,
'message' => trans('admin.update.info.up-to-date'),
@ -74,7 +74,7 @@ class UpdateControllerTest extends TestCase
$this->mock(PackageManager::class, function ($mock) {
$mock->shouldReceive('download')->andThrow(new \Exception('ddd'));
});
$this->getJson('/admin/update/download')->assertJson(['code' => 1]);
$this->postJson('/admin/update/download')->assertJson(['code' => 1]);
$this->mock(PackageManager::class, function ($mock) {
$mock->shouldReceive('download')->andReturnSelf();
$mock->shouldReceive('extract')->andReturn(true);
@ -83,7 +83,7 @@ class UpdateControllerTest extends TestCase
$mock->shouldReceive('delete')->with(storage_path('options.php'))->once();
$mock->shouldReceive('exists')->with(storage_path('install.lock'))->andReturn(true);
});
$this->getJson('/admin/update/download')
$this->postJson('/admin/update/download')
->assertJson(['code' => 0, 'message' => trans('admin.update.complete')]);
}

View File

@ -12,17 +12,17 @@ class CheckAdministratorTest extends TestCase
$this->get('/admin')->assertRedirect('/auth/login');
// Normal user
$this->actingAs(factory(User::class)->make())
$this->actingAs(factory(User::class)->create())
->get('/admin')
->assertStatus(403);
// Admin
$this->actingAs(factory(User::class, 'admin')->make())
$this->actingAs(factory(User::class, 'admin')->create())
->get('/admin')
->assertSuccessful();
// Super admin
$this->actingAs(factory(User::class, 'superAdmin')->make())
$this->actingAs(factory(User::class, 'superAdmin')->create())
->get('/admin')
->assertSuccessful();
}

View File

@ -9,13 +9,13 @@ class CheckSuperAdminTest extends TestCase
public function testHandle()
{
// Admin
$this->actAs(factory(User::class, 'admin')->make())
->get('/admin/plugins/manage')
$this->actAs(factory(User::class, 'admin')->create())
->get('/admin/update')
->assertForbidden();
// Super admin
$this->actAs(factory(User::class, 'superAdmin')->make())
->get('/admin/plugins/manage')
$this->actAs(factory(User::class, 'superAdmin')->create())
->get('/admin/update')
->assertSuccessful();
}
}

View File

@ -12,7 +12,7 @@ class RedirectToSetupTest extends TestCase
public function testHandle()
{
$superAdmin = factory(User::class, 'superAdmin')->make();
$superAdmin = factory(User::class, 'superAdmin')->create();
$current = config('app.version');
config(['app.version' => '100.0.0']);

View File

@ -18,7 +18,7 @@ class FootComposerTest extends TestCase
option([
'custom_js' => '"<div></div>"</script><h1 id=disallowed></h1><script>',
]);
$user = factory(User::class)->make();
$user = factory(User::class)->create();
$this->actingAs($user);
$this->get('/user')->assertSee('"<div></div>"');
$crawler = new Crawler($this->get('/user')->getContent());
@ -60,7 +60,7 @@ class FootComposerTest extends TestCase
$event->contents[] = '<div id=appended></div>';
});
$user = factory(User::class)->make();
$user = factory(User::class)->create();
$this->actingAs($user);
$this->get('/user')->assertSee('<div id=appended></div>');
}

View File

@ -15,7 +15,7 @@ class SideMenuComposerTest extends TestCase
{
Event::fake();
$admin = factory(User::class, 'admin')->make();
$admin = factory(User::class, 'admin')->create();
$this->actingAs($admin)->get('/user');
Event::assertDispatched(Events\ConfigureUserMenu::class);
Event::assertDispatched(Events\ConfigureExploreMenu::class);
@ -26,7 +26,7 @@ class SideMenuComposerTest extends TestCase
public function testTransform()
{
$user = factory(User::class)->make();
$user = factory(User::class)->create();
$this->actingAs($user);
$crawler = new Crawler($this->get('/user/oauth/manage')->getContent());
@ -53,7 +53,7 @@ class SideMenuComposerTest extends TestCase
);
});
$admin = factory(User::class, 'admin')->make();
$admin = factory(User::class, 'admin')->create();
$this->actingAs($admin)
->get('/admin')
->assertDontSee(trans('general.plugin-configs'));

View File

@ -8,7 +8,7 @@ class UserMenuComposerTest extends TestCase
{
public function testAvatar()
{
$user = factory(User::class)->make();
$user = factory(User::class)->create();
$this->actingAs($user)
->get('/')
->assertSee(url('/avatar/user/'.$user->uid.'?size=25'));

View File

@ -9,7 +9,7 @@ class UserPanelComposerTest extends TestCase
{
public function testRenderUser()
{
$user = factory(User::class)->make();
$user = factory(User::class)->create();
$this->actingAs($user);
$this->get('/user')->assertSee(url('/avatar/user/'.$user->uid.'?size=45'));
@ -17,7 +17,7 @@ class UserPanelComposerTest extends TestCase
public function testBadges()
{
$user = factory(User::class)->make();
$user = factory(User::class)->create();
$this->actingAs($user);
Event::listen(\App\Events\RenderingBadges::class, function ($event) {