fix texture is missing from uploader's closet
when set to private
This commit is contained in:
parent
9916ad1344
commit
f665c7fe31
|
|
@ -15,7 +15,10 @@ class CleanUpCloset
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
$likers = $texture->likers()->get();
|
$likers = $texture
|
||||||
|
->likers()
|
||||||
|
->where('user_uid', '!=', $texture->uploader)
|
||||||
|
->get();
|
||||||
$likers->each(function (User $user) use ($texture) {
|
$likers->each(function (User $user) use ($texture) {
|
||||||
$user->closet()->detach($texture->tid);
|
$user->closet()->detach($texture->tid);
|
||||||
if (option('return_score')) {
|
if (option('return_score')) {
|
||||||
|
|
|
||||||
|
|
@ -26,16 +26,23 @@ class CleanUpClosetTest extends TestCase
|
||||||
public function testPrivateTexture()
|
public function testPrivateTexture()
|
||||||
{
|
{
|
||||||
option(['return_score' => true]);
|
option(['return_score' => true]);
|
||||||
$texture = factory(Texture::class)->create(['public' => false]);
|
$uploader = factory(User::class)->create();
|
||||||
|
$texture = factory(Texture::class)->create([
|
||||||
|
'uploader' => $uploader->uid,
|
||||||
|
'public' => false,
|
||||||
|
]);
|
||||||
|
$uploader->closet()->attach($texture->tid, ['item_name' => '']);
|
||||||
$user = factory(User::class)->create(['score' => 0]);
|
$user = factory(User::class)->create(['score' => 0]);
|
||||||
$user->closet()->attach($texture->tid, ['item_name' => '']);
|
$user->closet()->attach($texture->tid, ['item_name' => '']);
|
||||||
|
|
||||||
$replicated = $texture->replicate();
|
$replicated = $texture->replicate();
|
||||||
event('texture.privacy.updated', [$texture]);
|
event('texture.privacy.updated', [$texture]);
|
||||||
|
$uploader->refresh();
|
||||||
$user->refresh();
|
$user->refresh();
|
||||||
$this->assertEquals($replicated->likes - 1, $texture->fresh()->likes);
|
$this->assertEquals($replicated->likes - 1, $texture->fresh()->likes);
|
||||||
$this->assertEquals((int) option('score_per_closet_item'), $user->score);
|
$this->assertEquals((int) option('score_per_closet_item'), $user->score);
|
||||||
$this->assertNull($user->closet()->find($texture->tid));
|
$this->assertNull($user->closet()->find($texture->tid));
|
||||||
|
$this->assertEquals(1, $uploader->closet()->count());
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testDeletedTexture()
|
public function testDeletedTexture()
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user