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() { $user = factory(User::class)->create(); $texture = factory(Texture::class)->create(); $this->postJson('/admin/closet/'.$user->uid, ['tid' => $texture->tid]) ->assertJson([ 'code' => 0, 'data' => [ 'user' => $user->toArray(), 'texture' => $texture->toArray(), ], ]); $item = $user->closet()->first(); $this->assertEquals($texture->tid, $item->tid); $this->assertEquals($texture->name, $item->pivot->item_name); } public function testRemove() { $user = factory(User::class)->create(); $texture = factory(Texture::class)->create(); $user->closet()->attach($texture->tid, ['item_name' => '']); $this->deleteJson('/admin/closet/'.$user->uid, ['tid' => $texture->tid]) ->assertJson([ 'code' => 0, 'data' => [ 'user' => $user->toArray(), 'texture' => $texture->toArray(), ], ]); $this->assertCount(0, $user->closet); } }