Source of file SupportedAddonsLoaderTest.php
Size: 1,550 Bytes - Last Modified: 2021-12-24T06:48:16+00:00
/var/www/docs.ssmods.com/process/src/tests/Util/SupportedAddonsLoaderTest.php
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 | <?php namespace BringYourOwnIdeas\Maintenance\Tests\Util; use BringYourOwnIdeas\Maintenance\Util\SupportedAddonsLoader; use SilverStripe\Dev\SapphireTest; class SupportedAddonsLoaderTest extends SapphireTest { /** * @var SupportedAddonsLoader */ protected $loader; protected function setUp(): void { parent::setUp(); $this->loader = $this->getMockBuilder(SupportedAddonsLoader::class) ->setMethods(['doRequest']) ->getMock(); } public function testCallsSupportedAddonsEndpoint() { $this->loader->expects($this->once()) ->method('doRequest') ->with('addons.silverstripe.org/api/supported-addons', function () { // no-op }); $this->loader->getAddonNames(); } public function testCallbackReturnsAddonsFromBody() { $this->loader->expects($this->once()) ->method('doRequest') ->with($this->isType('string'), $this->isType('callable')) ->will($this->returnArgument(1)); $result = $this->loader->getAddonNames(); $mockResponse = [ 'foo' => 'bar', 'addons' => 'baz', ]; $this->assertSame('baz', $result($mockResponse)); } public function testValueOfDoRequestIsReturned() { $this->loader->expects($this->once()) ->method('doRequest') ->willReturn('hello world'); $this->assertSame('hello world', $this->loader->getAddonNames()); } } |