for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace SilverStripe\View\Tests\Embed;
use SilverStripe\Dev\SapphireTest;
use SilverStripe\View\Embed\EmbedContainer;
use Embed\Http\Crawler;
class EmbedUnitTest extends SapphireTest
{
private bool $firstRequest = true;
public function getFirstRequest(): bool
return $this->firstRequest;
}
public function setFirstRequest(bool $b): void
$this->firstRequest = $b;
protected function createEmbedContainer(
string $url,
string $firstResponse,
string $secondResponse
): EmbedContainer {
$mockUri = new MockUri($url);
$crawlerMock = $this->createMock(Crawler::class);
$crawlerMock->method('getResponseUri')->willReturn($mockUri);
$crawlerMock->method('createUri')->willReturn($mockUri);
$crawlerMock->method('sendRequest')->willReturn(new MockResponse($this, $firstResponse, $secondResponse));
$crawlerMock->method('createRequest')->willReturn(new MockRequest($this, $mockUri));
$embedContainer = new EmbedContainer($url);
$embedContainer->setCrawler($crawlerMock);
return $embedContainer;