123 lines
2.6 KiB
PHP
123 lines
2.6 KiB
PHP
|
<?php
|
||
|
class ScorePostJobTest extends AbstractTest
|
||
|
{
|
||
|
public function testScoring()
|
||
|
{
|
||
|
$this->grantAccess('scorePost');
|
||
|
$this->login($this->mockUser());
|
||
|
$post = $this->mockPost(Auth::getCurrentUser());
|
||
|
|
||
|
$this->assert->areEqual(0, $post->getScore());
|
||
|
|
||
|
$post = $this->assert->doesNotThrow(function() use ($post)
|
||
|
{
|
||
|
return Api::run(
|
||
|
new ScorePostJob(),
|
||
|
[
|
||
|
ScorePostJob::POST_ID => $post->getId(),
|
||
|
ScorePostJob::SCORE => 1,
|
||
|
]);
|
||
|
});
|
||
|
|
||
|
$this->assert->areEqual(1, $post->getScore());
|
||
|
}
|
||
|
|
||
|
public function testNegativeScore()
|
||
|
{
|
||
|
$this->grantAccess('scorePost');
|
||
|
$this->login($this->mockUser());
|
||
|
$post = $this->mockPost(Auth::getCurrentUser());
|
||
|
|
||
|
$post = $this->assert->doesNotThrow(function() use ($post)
|
||
|
{
|
||
|
return Api::run(
|
||
|
new ScorePostJob(),
|
||
|
[
|
||
|
ScorePostJob::POST_ID => $post->getId(),
|
||
|
ScorePostJob::SCORE => -1,
|
||
|
]);
|
||
|
});
|
||
|
|
||
|
$this->assert->areEqual(-1, $post->getScore());
|
||
|
}
|
||
|
|
||
|
public function testInvalidScore()
|
||
|
{
|
||
|
$this->grantAccess('scorePost');
|
||
|
$this->login($this->mockUser());
|
||
|
$post = $this->mockPost(Auth::getCurrentUser());
|
||
|
|
||
|
$this->assert->throws(function() use ($post)
|
||
|
{
|
||
|
Api::run(
|
||
|
new ScorePostJob(),
|
||
|
[
|
||
|
ScorePostJob::POST_ID => $post->getId(),
|
||
|
ScorePostJob::SCORE => 2,
|
||
|
]);
|
||
|
}, 'Invalid score');
|
||
|
|
||
|
$this->assert->areEqual(0, $post->getScore());
|
||
|
}
|
||
|
|
||
|
public function testScoreOverwriting()
|
||
|
{
|
||
|
$this->grantAccess('scorePost');
|
||
|
$this->login($this->mockUser());
|
||
|
$post = $this->mockPost(Auth::getCurrentUser());
|
||
|
|
||
|
$post = $this->assert->doesNotThrow(function() use ($post)
|
||
|
{
|
||
|
return Api::run(
|
||
|
new ScorePostJob(),
|
||
|
[
|
||
|
ScorePostJob::POST_ID => $post->getId(),
|
||
|
ScorePostJob::SCORE => -1,
|
||
|
]);
|
||
|
});
|
||
|
|
||
|
$post = $this->assert->doesNotThrow(function() use ($post)
|
||
|
{
|
||
|
return Api::run(
|
||
|
new ScorePostJob(),
|
||
|
[
|
||
|
ScorePostJob::POST_ID => $post->getId(),
|
||
|
ScorePostJob::SCORE => 1,
|
||
|
]);
|
||
|
});
|
||
|
|
||
|
$this->assert->areEqual(1, $post->getScore());
|
||
|
}
|
||
|
|
||
|
public function testScoreTwoPeople()
|
||
|
{
|
||
|
$this->grantAccess('scorePost');
|
||
|
$this->login($this->mockUser());
|
||
|
$post = $this->mockPost(Auth::getCurrentUser());
|
||
|
|
||
|
$post = $this->assert->doesNotThrow(function() use ($post)
|
||
|
{
|
||
|
return Api::run(
|
||
|
new ScorePostJob(),
|
||
|
[
|
||
|
ScorePostJob::POST_ID => $post->getId(),
|
||
|
ScorePostJob::SCORE => 1,
|
||
|
]);
|
||
|
});
|
||
|
|
||
|
$this->login($this->mockUser());
|
||
|
|
||
|
$post = $this->assert->doesNotThrow(function() use ($post)
|
||
|
{
|
||
|
return Api::run(
|
||
|
new ScorePostJob(),
|
||
|
[
|
||
|
ScorePostJob::POST_ID => $post->getId(),
|
||
|
ScorePostJob::SCORE => 1,
|
||
|
]);
|
||
|
});
|
||
|
|
||
|
$this->assert->areEqual(2, $post->getScore());
|
||
|
}
|
||
|
}
|