From 5ce9e73bad3d80657ab2b13f3cc5f91f3033a03f Mon Sep 17 00:00:00 2001 From: Daniel Kesselberg Date: Mon, 2 Mar 2020 13:24:06 +0100 Subject: [PATCH] Add message for DoesNotExistException Signed-off-by: Daniel Kesselberg --- lib/private/Updater/ChangesCheck.php | 4 ++-- tests/lib/Updater/ChangesCheckTest.php | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/lib/private/Updater/ChangesCheck.php b/lib/private/Updater/ChangesCheck.php index 7346ceab6b..259fb750c0 100644 --- a/lib/private/Updater/ChangesCheck.php +++ b/lib/private/Updater/ChangesCheck.php @@ -56,8 +56,8 @@ class ChangesCheck { $version = $this->normalizeVersion($version); $changesInfo = $this->mapper->getChanges($version); $changesData = json_decode($changesInfo->getData(), true); - if(empty($changesData)) { - throw new DoesNotExistException(); + if (empty($changesData)) { + throw new DoesNotExistException('Unable to decode changes info'); } return $changesData; } diff --git a/tests/lib/Updater/ChangesCheckTest.php b/tests/lib/Updater/ChangesCheckTest.php index 30cb9df295..1bc8b47e58 100644 --- a/tests/lib/Updater/ChangesCheckTest.php +++ b/tests/lib/Updater/ChangesCheckTest.php @@ -380,4 +380,21 @@ class ChangesCheckTest extends TestCase { $this->assertTrue(isset($data['whatsNew']['en']['regular'])); $this->assertTrue(isset($data['changelogURL'])); } + + public function testGetChangesForVersionEmptyData() { + $entry = $this->createMock(ChangesResult::class); + $entry->expects($this->once()) + ->method('__call') + ->with('getData') + ->willReturn(''); + + $this->mapper->expects($this->once()) + ->method('getChanges') + ->with('13.0.7') + ->willReturn($entry); + + $this->expectException(DoesNotExistException::class); + /** @noinspection PhpUnhandledExceptionInspection */ + $this->checker->getChangesForVersion('13.0.7'); + } }