Split tests
This commit is contained in:
parent
b9b99d822e
commit
baef165dbc
|
|
@ -114,17 +114,8 @@ class ReportControllerTest extends TestCase
|
||||||
|
|
||||||
public function testReview()
|
public function testReview()
|
||||||
{
|
{
|
||||||
$uploader = factory(User::class)->create();
|
|
||||||
$reporter = factory(User::class)->create();
|
|
||||||
$admin = factory(User::class, 'admin')->create();
|
$admin = factory(User::class, 'admin')->create();
|
||||||
$texture = factory(Texture::class)->create(['uploader' => $uploader->uid]);
|
|
||||||
|
|
||||||
$report = new Report;
|
$report = new Report;
|
||||||
$report->tid = $texture->tid;
|
|
||||||
$report->uploader = $uploader->uid;
|
|
||||||
$report->reporter = $reporter->uid;
|
|
||||||
$report->reason = 'test';
|
|
||||||
$report->status = Report::REJECTED;
|
|
||||||
$report->save();
|
$report->save();
|
||||||
$report->refresh();
|
$report->refresh();
|
||||||
|
|
||||||
|
|
@ -148,57 +139,9 @@ class ReportControllerTest extends TestCase
|
||||||
// Allow to process again
|
// Allow to process again
|
||||||
$this->postJson('/admin/reports', ['id' => $report->id, 'action' => 'reject'])
|
$this->postJson('/admin/reports', ['id' => $report->id, 'action' => 'reject'])
|
||||||
->assertJson(['code' => 0]);
|
->assertJson(['code' => 0]);
|
||||||
|
|
||||||
// Reject
|
|
||||||
$report->status = Report::PENDING;
|
|
||||||
$report->save();
|
|
||||||
$score = $reporter->score;
|
|
||||||
$this->postJson('/admin/reports', ['id' => $report->id, 'action' => 'reject'])
|
|
||||||
->assertJson([
|
|
||||||
'code' => 0,
|
|
||||||
'message' => trans('general.op-success'),
|
|
||||||
'data' => ['status' => Report::REJECTED],
|
|
||||||
]);
|
|
||||||
$report->refresh();
|
|
||||||
$reporter->refresh();
|
|
||||||
$this->assertEquals(Report::REJECTED, $report->status);
|
|
||||||
$this->assertEquals($score, $reporter->score);
|
|
||||||
|
|
||||||
$report->refresh();
|
|
||||||
$report->status = Report::PENDING;
|
|
||||||
$report->save();
|
|
||||||
option(['reporter_score_modification' => 5]);
|
|
||||||
$score = $reporter->score;
|
|
||||||
$this->postJson('/admin/reports', ['id' => $report->id, 'action' => 'reject'])
|
|
||||||
->assertJson(['code' => 0]);
|
|
||||||
$reporter->refresh();
|
|
||||||
$this->assertEquals($score - 5, $reporter->score);
|
|
||||||
|
|
||||||
// Delete texture
|
|
||||||
option([
|
|
||||||
'reporter_score_modification' => -7,
|
|
||||||
'return_score' => false,
|
|
||||||
'take_back_scores_after_deletion' => false,
|
|
||||||
]);
|
|
||||||
$report->refresh();
|
|
||||||
$report->status = Report::PENDING;
|
|
||||||
$report->save();
|
|
||||||
$score = $reporter->score;
|
|
||||||
$this->postJson('/admin/reports', ['id' => $report->id, 'action' => 'delete'])
|
|
||||||
->assertJson([
|
|
||||||
'code' => 0,
|
|
||||||
'message' => trans('general.op-success'),
|
|
||||||
'data' => ['status' => Report::RESOLVED],
|
|
||||||
]);
|
|
||||||
$report->refresh();
|
|
||||||
$reporter->refresh();
|
|
||||||
$this->assertEquals(Report::RESOLVED, $report->status);
|
|
||||||
$this->assertNull(Texture::find($texture->tid));
|
|
||||||
$this->assertEquals($score + 7, $reporter->score);
|
|
||||||
option(['reporter_score_modification' => 0]);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public function testBanUploader()
|
public function testReviewReject()
|
||||||
{
|
{
|
||||||
$uploader = factory(User::class)->create();
|
$uploader = factory(User::class)->create();
|
||||||
$reporter = factory(User::class)->create();
|
$reporter = factory(User::class)->create();
|
||||||
|
|
@ -210,14 +153,89 @@ class ReportControllerTest extends TestCase
|
||||||
$report->uploader = $uploader->uid;
|
$report->uploader = $uploader->uid;
|
||||||
$report->reporter = $reporter->uid;
|
$report->reporter = $reporter->uid;
|
||||||
$report->reason = 'test';
|
$report->reason = 'test';
|
||||||
$report->status = Report::REJECTED;
|
|
||||||
$report->save();
|
|
||||||
$report->refresh();
|
|
||||||
|
|
||||||
option(['reporter_reward_score' => 6]);
|
|
||||||
$report->refresh();
|
|
||||||
$report->status = Report::PENDING;
|
$report->status = Report::PENDING;
|
||||||
$report->save();
|
$report->save();
|
||||||
|
$report->refresh();
|
||||||
|
|
||||||
|
// Should not cost score
|
||||||
|
$score = $reporter->score;
|
||||||
|
$this->actingAs($admin)
|
||||||
|
->postJson('/admin/reports', ['id' => $report->id, 'action' => 'reject'])
|
||||||
|
->assertJson([
|
||||||
|
'code' => 0,
|
||||||
|
'message' => trans('general.op-success'),
|
||||||
|
'data' => ['status' => Report::REJECTED],
|
||||||
|
]);
|
||||||
|
$report->refresh();
|
||||||
|
$reporter->refresh();
|
||||||
|
$this->assertEquals(Report::REJECTED, $report->status);
|
||||||
|
$this->assertEquals($score, $reporter->score);
|
||||||
|
|
||||||
|
// Should cost score
|
||||||
|
$report->status = Report::PENDING;
|
||||||
|
$report->save();
|
||||||
|
option(['reporter_score_modification' => 5]);
|
||||||
|
$score = $reporter->score;
|
||||||
|
$this->postJson('/admin/reports', ['id' => $report->id, 'action' => 'reject'])
|
||||||
|
->assertJson(['code' => 0]);
|
||||||
|
$reporter->refresh();
|
||||||
|
$this->assertEquals($score - 5, $reporter->score);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testReviewDelete()
|
||||||
|
{
|
||||||
|
$uploader = factory(User::class)->create();
|
||||||
|
$reporter = factory(User::class)->create();
|
||||||
|
$admin = factory(User::class, 'admin')->create();
|
||||||
|
$texture = factory(Texture::class)->create(['uploader' => $uploader->uid]);
|
||||||
|
|
||||||
|
$report = new Report;
|
||||||
|
$report->tid = $texture->tid;
|
||||||
|
$report->uploader = $uploader->uid;
|
||||||
|
$report->reporter = $reporter->uid;
|
||||||
|
$report->reason = 'test';
|
||||||
|
$report->status = Report::PENDING;
|
||||||
|
$report->save();
|
||||||
|
$report->refresh();
|
||||||
|
|
||||||
|
option([
|
||||||
|
'reporter_score_modification' => -7,
|
||||||
|
'return_score' => false,
|
||||||
|
'take_back_scores_after_deletion' => false,
|
||||||
|
]);
|
||||||
|
$score = $reporter->score;
|
||||||
|
$this->actingAs($admin)
|
||||||
|
->postJson('/admin/reports', ['id' => $report->id, 'action' => 'delete'])
|
||||||
|
->assertJson([
|
||||||
|
'code' => 0,
|
||||||
|
'message' => trans('general.op-success'),
|
||||||
|
'data' => ['status' => Report::RESOLVED],
|
||||||
|
]);
|
||||||
|
$report->refresh();
|
||||||
|
$reporter->refresh();
|
||||||
|
$this->assertEquals(Report::RESOLVED, $report->status);
|
||||||
|
$this->assertNull(Texture::find($texture->tid));
|
||||||
|
$this->assertEquals($score + 7, $reporter->score);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function testReviewBan()
|
||||||
|
{
|
||||||
|
$uploader = factory(User::class)->create();
|
||||||
|
$reporter = factory(User::class)->create();
|
||||||
|
$admin = factory(User::class, 'admin')->create();
|
||||||
|
$texture = factory(Texture::class)->create(['uploader' => $uploader->uid]);
|
||||||
|
|
||||||
|
$report = new Report;
|
||||||
|
$report->tid = $texture->tid;
|
||||||
|
$report->uploader = $uploader->uid;
|
||||||
|
$report->reporter = $reporter->uid;
|
||||||
|
$report->reason = 'test';
|
||||||
|
$report->status = Report::PENDING;
|
||||||
|
$report->save();
|
||||||
|
$report->refresh();
|
||||||
|
|
||||||
|
// Uploader should be banned
|
||||||
|
option(['reporter_reward_score' => 6]);
|
||||||
$score = $reporter->score;
|
$score = $reporter->score;
|
||||||
$this->actingAs($admin)
|
$this->actingAs($admin)
|
||||||
->postJson('/admin/reports', ['id' => $report->id, 'action' => 'ban'])
|
->postJson('/admin/reports', ['id' => $report->id, 'action' => 'ban'])
|
||||||
|
|
@ -232,6 +250,7 @@ class ReportControllerTest extends TestCase
|
||||||
$this->assertEquals($score + 6, $reporter->score);
|
$this->assertEquals($score + 6, $reporter->score);
|
||||||
option(['reporter_reward_score' => 0]);
|
option(['reporter_reward_score' => 0]);
|
||||||
|
|
||||||
|
// Should not ban admin uploader
|
||||||
$report->refresh();
|
$report->refresh();
|
||||||
$report->status = Report::PENDING;
|
$report->status = Report::PENDING;
|
||||||
$report->save();
|
$report->save();
|
||||||
|
|
@ -245,7 +264,9 @@ class ReportControllerTest extends TestCase
|
||||||
]);
|
]);
|
||||||
$report->refresh();
|
$report->refresh();
|
||||||
$this->assertEquals(Report::PENDING, $report->status);
|
$this->assertEquals(Report::PENDING, $report->status);
|
||||||
|
$this->assertEquals(User::ADMIN, $uploader->permission);
|
||||||
|
|
||||||
|
// Uploader has deleted its account
|
||||||
$report->uploader = -1;
|
$report->uploader = -1;
|
||||||
$report->save();
|
$report->save();
|
||||||
$this->postJson('/admin/reports', ['id' => $report->id, 'action' => 'ban'])
|
$this->postJson('/admin/reports', ['id' => $report->id, 'action' => 'ban'])
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue
Block a user