-
Notifications
You must be signed in to change notification settings - Fork 18
Expand file tree
/
Copy pathSimpleGeneratorSpec.php
More file actions
46 lines (38 loc) · 1.74 KB
/
Copy pathSimpleGeneratorSpec.php
File metadata and controls
46 lines (38 loc) · 1.74 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
<?php
namespace spec\Http\Client\Common\Plugin\Cache\Generator;
use PhpSpec\ObjectBehavior;
use Psr\Http\Message\RequestInterface;
use Http\Client\Common\Plugin\Cache\Generator\CacheKeyGenerator;
use Http\Client\Common\Plugin\Cache\Generator\SimpleGenerator;
use Psr\Http\Message\StreamInterface;
use Psr\Http\Message\UriInterface;
class SimpleGeneratorSpec extends ObjectBehavior
{
public function it_is_initializable()
{
$this->shouldHaveType(SimpleGenerator::class);
}
public function it_is_a_key_generator()
{
$this->shouldImplement(CacheKeyGenerator::class);
}
public function it_generates_cache_from_request(RequestInterface $request, UriInterface $uri, StreamInterface $body)
{
$uri->__toString()->shouldBeCalled()->willReturn('http://example.com/foo');
$body->__toString()->shouldBeCalled()->willReturn('bar');
$request->getMethod()->shouldBeCalled()->willReturn('GET');
$request->getUri()->shouldBeCalled()->willReturn($uri);
$request->getBody()->shouldBeCalled()->willReturn($body);
$this->generate($request)->shouldReturn('GET http://example.com/foo bar');
}
public function it_generates_cache_from_request_with_no_body(RequestInterface $request, UriInterface $uri, StreamInterface $body)
{
$uri->__toString()->shouldBeCalled()->willReturn('http://example.com/foo');
$body->__toString()->shouldBeCalled()->willReturn('');
$request->getMethod()->shouldBeCalled()->willReturn('GET');
$request->getUri()->shouldBeCalled()->willReturn($uri);
$request->getBody()->shouldBeCalled()->willReturn($body);
// No extra space after uri
$this->generate($request)->shouldReturn('GET http://example.com/foo');
}
}