|
|
|
@ -243,6 +243,7 @@ class UserStatusControllerTest extends TestCase {
|
|
|
|
|
* @param Throwable|null $exception
|
|
|
|
|
* @param bool $expectLogger
|
|
|
|
|
* @param string|null $expectedLogMessage
|
|
|
|
|
* @param bool $expectSuccessAsReset
|
|
|
|
|
*
|
|
|
|
|
* @dataProvider setCustomMessageDataProvider
|
|
|
|
|
*/
|
|
|
|
@ -253,7 +254,8 @@ class UserStatusControllerTest extends TestCase {
|
|
|
|
|
bool $expectException,
|
|
|
|
|
?Throwable $exception,
|
|
|
|
|
bool $expectLogger,
|
|
|
|
|
?string $expectedLogMessage): void {
|
|
|
|
|
?string $expectedLogMessage,
|
|
|
|
|
bool $expectSuccessAsReset = false): void {
|
|
|
|
|
$userStatus = $this->getUserStatus();
|
|
|
|
|
|
|
|
|
|
if ($expectException) {
|
|
|
|
@ -262,10 +264,25 @@ class UserStatusControllerTest extends TestCase {
|
|
|
|
|
->with('john.doe', $statusIcon, $message, $clearAt)
|
|
|
|
|
->willThrowException($exception);
|
|
|
|
|
} else {
|
|
|
|
|
$this->service->expects($this->once())
|
|
|
|
|
->method('setCustomMessage')
|
|
|
|
|
->with('john.doe', $statusIcon, $message, $clearAt)
|
|
|
|
|
->willReturn($userStatus);
|
|
|
|
|
if ($expectSuccessAsReset) {
|
|
|
|
|
$this->service->expects($this->never())
|
|
|
|
|
->method('setCustomMessage');
|
|
|
|
|
$this->service->expects($this->once())
|
|
|
|
|
->method('clearMessage')
|
|
|
|
|
->with('john.doe');
|
|
|
|
|
$this->service->expects($this->once())
|
|
|
|
|
->method('findByUserId')
|
|
|
|
|
->with('john.doe')
|
|
|
|
|
->willReturn($userStatus);
|
|
|
|
|
} else {
|
|
|
|
|
$this->service->expects($this->once())
|
|
|
|
|
->method('setCustomMessage')
|
|
|
|
|
->with('john.doe', $statusIcon, $message, $clearAt)
|
|
|
|
|
->willReturn($userStatus);
|
|
|
|
|
|
|
|
|
|
$this->service->expects($this->never())
|
|
|
|
|
->method('clearMessage');
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if ($expectLogger) {
|
|
|
|
@ -297,6 +314,7 @@ class UserStatusControllerTest extends TestCase {
|
|
|
|
|
public function setCustomMessageDataProvider(): array {
|
|
|
|
|
return [
|
|
|
|
|
['👨🏽💻', 'Busy developing the status feature', 500, true, false, null, false, null],
|
|
|
|
|
['👨🏽💻', '', 500, true, false, null, false, null, true],
|
|
|
|
|
['👨🏽💻', 'Busy developing the status feature', 500, false, true, new InvalidClearAtException('Original exception message'), true,
|
|
|
|
|
'New user-status for "john.doe" was rejected due to an invalid clearAt value "500"'],
|
|
|
|
|
['👨🏽💻', 'Busy developing the status feature', 500, false, true, new InvalidStatusIconException('Original exception message'), true,
|
|
|
|
|