add API for closet management

This commit is contained in:
Pig Fang 2020-05-01 22:52:43 +08:00
parent 0dbdcc255e
commit b183dae6bd
3 changed files with 26 additions and 1 deletions

View File

@ -8,6 +8,14 @@ use Illuminate\Http\Request;
class ClosetManagementController extends Controller
{
public function list($uid)
{
/** @var User */
$user = User::findOrFail($uid);
return $user->closet;
}
public function add(Request $request, $uid)
{
/** @var Texture */

View File

@ -38,4 +38,10 @@ Route::prefix('admin')
Route::put('{player}/textures', 'PlayersManagementController@texture');
Route::delete('{player}', 'PlayersManagementController@delete');
});
Route::prefix('closet')->group(function () {
Route::get('{uid}', 'ClosetManagementController@list');
Route::post('{uid}', 'ClosetManagementController@add');
Route::delete('{uid}', 'ClosetManagementController@remove');
});
});

View File

@ -13,7 +13,18 @@ class ClosetManagementControllerTest extends TestCase
protected function setUp(): void
{
parent::setUp();
$this->actingAs(factory(\App\Models\User::class)->states('admin')->create());
$this->actingAs(factory(User::class)->states('admin')->create());
}
public function testList()
{
$texture = factory(Texture::class)->create();
$admin = factory(User::class)->states('admin')->create();
$admin->closet()->attach($texture->tid);
$this->actingAs($admin, 'oauth')
->getJson('/api/admin/closet/'.$admin->uid)
->assertJson([['tid' => $texture->tid]]);
}
public function testAdd()