From 0506ae84158e5c82fc341fd02c3c910444482b34 Mon Sep 17 00:00:00 2001 From: Dennis Eichhorn Date: Mon, 25 Oct 2021 20:06:48 +0200 Subject: [PATCH] test fixes --- Models/Bill.php | 15 ++++++++------- tests/Models/BillTest.php | 13 +++++++++++++ 2 files changed, 21 insertions(+), 7 deletions(-) diff --git a/Models/Bill.php b/Models/Bill.php index ba46a0f..26f91cf 100755 --- a/Models/Bill.php +++ b/Models/Bill.php @@ -604,21 +604,22 @@ class Bill implements \JsonSerializable /** * Get media file by type * - * @param string $type Media type + * @param null|int $type Media type * - * @return Media + * @return array * * @since 1.0.0 */ - public function getMediaByType(string $type) : Media + public function getMediaByType(int $type = null) : array { - foreach ($this->media as $media) { - if ($media->type === $type) { - return $media; + $files = []; + foreach ($this->media as $file) { + if ($file->type === $type) { + $files[] = $file; } } - return new NullMedia(); + return $files; } /** diff --git a/tests/Models/BillTest.php b/tests/Models/BillTest.php index b1c1bbd..f247612 100644 --- a/tests/Models/BillTest.php +++ b/tests/Models/BillTest.php @@ -18,6 +18,7 @@ use Modules\Billing\Models\Bill; use Modules\Billing\Models\BillElement; use Modules\Billing\Models\BillStatus; use Modules\Billing\Models\BillType; +use Modules\Media\Models\Media; use phpOMS\Localization\ISO4217CharEnum; /** @@ -53,6 +54,7 @@ final class BillTest extends \PHPUnit\Framework\TestCase self::assertEquals(null, $this->bill->supplier); self::assertEquals([], $this->bill->getVouchers()); self::assertEquals([], $this->bill->getTrackings()); + self::assertEquals([], $this->bill->getMediaByType(0)); self::assertEquals('', $this->bill->shipTo); self::assertEquals('', $this->bill->shipFAO); @@ -121,6 +123,17 @@ final class BillTest extends \PHPUnit\Framework\TestCase self::assertEquals(ISO4217CharEnum::_USD, $this->bill->getCurrency()); } + /** + * @covers Modules\Billing\Models\Bill + * @group module + */ + public function testMediaInputOutput() : void + { + $this->bill->addMedia($temp = new Media()); + self::assertCount(1, $this->bill->getMedia()); + self::assertEquals([$temp], $this->bill->getMediaByType()); + } + /** * @covers Modules\Billing\Models\Bill * @group module