Passed
Pull Request — 4 (#10244)
by Steve
07:06
created

EmbedUnitTest   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 13
c 1
b 0
f 0
dl 0
loc 28
rs 10
wmc 3

3 Methods

Rating   Name   Duplication   Size   Complexity  
A createEmbedContainer() 0 14 1
A getFirstRequest() 0 3 1
A setFirstRequest() 0 3 1
1
<?php
2
3
namespace SilverStripe\View\Tests\Embed;
4
5
use SilverStripe\Dev\SapphireTest;
6
use SilverStripe\View\Embed\EmbedContainer;
7
use Embed\Http\Crawler;
8
9
class EmbedUnitTest extends SapphireTest
10
{
11
    private bool $firstRequest = true;
12
13
    public function getFirstRequest(): bool
14
    {
15
        return $this->firstRequest;
16
    }
17
18
    public function setFirstRequest(bool $b): void
19
    {
20
        $this->firstRequest = $b;
21
    }
22
23
    protected function createEmbedContainer(
24
        string $url,
25
        string $firstResponse,
26
        string $secondResponse
27
    ): EmbedContainer {
28
        $mockUri = new MockUri($url);
29
        $crawlerMock = $this->createMock(Crawler::class);
30
        $crawlerMock->method('getResponseUri')->willReturn($mockUri);
31
        $crawlerMock->method('createUri')->willReturn($mockUri);
32
        $crawlerMock->method('sendRequest')->willReturn(new MockResponse($this, $firstResponse, $secondResponse));
33
        $crawlerMock->method('createRequest')->willReturn(new MockRequest($this, $mockUri));
34
        $embedContainer = new EmbedContainer($url);
35
        $embedContainer->setCrawler($crawlerMock);
36
        return $embedContainer;
37
    }
38
}
39