![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-sitemap/Test/Unit/Model/ItemProvider/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ declare(strict_types=1); namespace Magento\Sitemap\Test\Unit\Model\ItemProvider; use Magento\Sitemap\Model\ItemProvider\Composite as CompositeItemResolver; use Magento\Sitemap\Model\ItemProvider\ItemProviderInterface; use Magento\Sitemap\Model\SitemapItemInterface; use PHPUnit\Framework\TestCase; class CompositeTest extends TestCase { public function testNoResolvers() { $resolver = new CompositeItemResolver(); $this->assertSame([], $resolver->getItems(1)); } /** * @dataProvider sitemapItemsProvider * @param array $itemResolverData * @param array $expectedItems */ public function testGetItems($itemResolverData, $expectedItems) { $mockResolvers = []; foreach ($itemResolverData as $data) { $mockResolver = $this->getMockForAbstractClass(ItemProviderInterface::class); $mockResolver->expects(self::once()) ->method('getItems') ->willReturn($data); $mockResolvers[] = $mockResolver; } $resolver = new CompositeItemResolver($mockResolvers); $items = $resolver->getItems(1); $this->assertSame($expectedItems, $items); } /** * @return array */ public function sitemapItemsProvider() { $testCases = []; for ($i = 1; $i < 5; $i++) { $itemProviders = []; $expectedItems = []; $maxProviders = random_int(1, 5); for ($j = 1; $j < $maxProviders; $j++) { $items = []; $maxItems = random_int(2, 5); for ($k = 1; $k < $maxItems; $k++) { $sitemapItem = $this->getMockForAbstractClass(SitemapItemInterface::class); $items[] = $sitemapItem; $expectedItems[] = $sitemapItem; } $itemProviders[] = $items; } $testCases[] = [$itemProviders, $expectedItems]; } return $testCases; } }