summaryrefslogtreecommitdiff
path: root/www/wiki/tests/phpunit/includes/api/ApiUsageExceptionTest.php
diff options
context:
space:
mode:
Diffstat (limited to 'www/wiki/tests/phpunit/includes/api/ApiUsageExceptionTest.php')
-rw-r--r--www/wiki/tests/phpunit/includes/api/ApiUsageExceptionTest.php44
1 files changed, 44 insertions, 0 deletions
diff --git a/www/wiki/tests/phpunit/includes/api/ApiUsageExceptionTest.php b/www/wiki/tests/phpunit/includes/api/ApiUsageExceptionTest.php
new file mode 100644
index 00000000..bb720211
--- /dev/null
+++ b/www/wiki/tests/phpunit/includes/api/ApiUsageExceptionTest.php
@@ -0,0 +1,44 @@
+<?php
+
+/**
+ * @covers ApiUsageException
+ */
+class ApiUsageExceptionTest extends MediaWikiTestCase {
+
+ public function testCreateWithStatusValue_CanGetAMessageObject() {
+ $messageKey = 'some-message-key';
+ $messageParameter = 'some-parameter';
+ $statusValue = new StatusValue();
+ $statusValue->fatal( $messageKey, $messageParameter );
+
+ $apiUsageException = new ApiUsageException( null, $statusValue );
+ /** @var \Message $gotMessage */
+ $gotMessage = $apiUsageException->getMessageObject();
+
+ $this->assertInstanceOf( \Message::class, $gotMessage );
+ $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
+ );
+ /** @var \ApiMessage $gotMessage */
+ $gotMessage = $apiUsageException->getMessageObject();
+
+ $this->assertInstanceOf( \ApiMessage::class, $gotMessage );
+ $this->assertEquals( $expectedMessage->getKey(), $gotMessage->getKey() );
+ $this->assertEquals( $expectedMessage->getParams(), $gotMessage->getParams() );
+ $this->assertEquals( $expectedCode, $gotMessage->getApiCode() );
+ $this->assertEquals( $expectedData, $gotMessage->getApiData() );
+ }
+
+}