2017-09-26 12:01:30 +00:00
|
|
|
<?php
|
|
|
|
|
|
2017-12-24 23:44:36 +00:00
|
|
|
/**
|
|
|
|
|
* @covers ApiUsageException
|
|
|
|
|
*/
|
2020-06-30 15:09:24 +00:00
|
|
|
class ApiUsageExceptionTest extends MediaWikiIntegrationTestCase {
|
2017-09-26 12:01:30 +00:00
|
|
|
|
|
|
|
|
public function testCreateWithStatusValue_CanGetAMessageObject() {
|
|
|
|
|
$messageKey = 'some-message-key';
|
|
|
|
|
$messageParameter = 'some-parameter';
|
|
|
|
|
$statusValue = new StatusValue();
|
|
|
|
|
$statusValue->fatal( $messageKey, $messageParameter );
|
|
|
|
|
|
|
|
|
|
$apiUsageException = new ApiUsageException( null, $statusValue );
|
2021-01-21 02:47:22 +00:00
|
|
|
/** @var Message $gotMessage */
|
2017-09-26 12:01:30 +00:00
|
|
|
$gotMessage = $apiUsageException->getMessageObject();
|
|
|
|
|
|
2021-01-21 02:47:22 +00:00
|
|
|
$this->assertInstanceOf( Message::class, $gotMessage );
|
2017-09-26 12:01:30 +00:00
|
|
|
$this->assertEquals( $messageKey, $gotMessage->getKey() );
|
|
|
|
|
$this->assertEquals( [ $messageParameter ], $gotMessage->getParams() );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public function testNewWithMessage_ThenGetMessageObject_ReturnsApiMessageWithProvidedData() {
|
|
|
|
|
$expectedMessage = new Message( 'some-message-key', [ 'some message parameter' ] );
|
|
|
|
|
$expectedCode = 'some-error-code';
|
|
|
|
|
$expectedData = [ 'some-error-data' ];
|
|
|
|
|
|
|
|
|
|
$apiUsageException = ApiUsageException::newWithMessage(
|
|
|
|
|
null,
|
|
|
|
|
$expectedMessage,
|
|
|
|
|
$expectedCode,
|
|
|
|
|
$expectedData
|
|
|
|
|
);
|
2021-01-21 02:47:22 +00:00
|
|
|
/** @var ApiMessage $gotMessage */
|
2017-09-26 12:01:30 +00:00
|
|
|
$gotMessage = $apiUsageException->getMessageObject();
|
|
|
|
|
|
2021-01-21 02:47:22 +00:00
|
|
|
$this->assertInstanceOf( ApiMessage::class, $gotMessage );
|
2017-09-26 12:01:30 +00:00
|
|
|
$this->assertEquals( $expectedMessage->getKey(), $gotMessage->getKey() );
|
|
|
|
|
$this->assertEquals( $expectedMessage->getParams(), $gotMessage->getParams() );
|
|
|
|
|
$this->assertEquals( $expectedCode, $gotMessage->getApiCode() );
|
|
|
|
|
$this->assertEquals( $expectedData, $gotMessage->getApiData() );
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
}
|