Refactor ApiTestCase to get token from ApiQueryTokens
[lhc/web/wiklou.git] / tests / phpunit / includes / api / ApiUsageExceptionTest.php
1 <?php
2
3 /**
4 * @covers ApiUsageException
5 */
6 class ApiUsageExceptionTest extends MediaWikiTestCase {
7
8 public function testCreateWithStatusValue_CanGetAMessageObject() {
9 $messageKey = 'some-message-key';
10 $messageParameter = 'some-parameter';
11 $statusValue = new StatusValue();
12 $statusValue->fatal( $messageKey, $messageParameter );
13
14 $apiUsageException = new ApiUsageException( null, $statusValue );
15 /** @var \Message $gotMessage */
16 $gotMessage = $apiUsageException->getMessageObject();
17
18 $this->assertInstanceOf( \Message::class, $gotMessage );
19 $this->assertEquals( $messageKey, $gotMessage->getKey() );
20 $this->assertEquals( [ $messageParameter ], $gotMessage->getParams() );
21 }
22
23 public function testNewWithMessage_ThenGetMessageObject_ReturnsApiMessageWithProvidedData() {
24 $expectedMessage = new Message( 'some-message-key', [ 'some message parameter' ] );
25 $expectedCode = 'some-error-code';
26 $expectedData = [ 'some-error-data' ];
27
28 $apiUsageException = ApiUsageException::newWithMessage(
29 null,
30 $expectedMessage,
31 $expectedCode,
32 $expectedData
33 );
34 /** @var \ApiMessage $gotMessage */
35 $gotMessage = $apiUsageException->getMessageObject();
36
37 $this->assertInstanceOf( \ApiMessage::class, $gotMessage );
38 $this->assertEquals( $expectedMessage->getKey(), $gotMessage->getKey() );
39 $this->assertEquals( $expectedMessage->getParams(), $gotMessage->getParams() );
40 $this->assertEquals( $expectedCode, $gotMessage->getApiCode() );
41 $this->assertEquals( $expectedData, $gotMessage->getApiData() );
42 }
43
44 }