zend-blog-3-backend
45 строк · 1.2 Кб
1<?php
2
3namespace spec\App\Cron\Hourly;
4
5use App\Cron\Hourly\PageViewCount;
6use App\Service\SystemParametersStorage;
7use Doctrine\ORM\EntityManagerInterface;
8use PhpSpec\ObjectBehavior;
9
10class PageViewCountSpec extends ObjectBehavior
11{
12public function let(EntityManagerInterface $em, SystemParametersStorage $paramStorage)
13{
14$this->beConstructedWith($em, $paramStorage);
15}
16
17public function it_is_initializable()
18{
19$this->shouldHaveType(PageViewCount::class);
20}
21
22public function it_merge()
23{
24$a = [
25'ID1' => 1,
26'ID2' => 2,
27];
28$b = [
29'ID2' => 3,
30'ID3' => 4,
31];
32
33$this->merge($a, $b)->shouldHaveKeyWithValue('ID1', 1);
34$this->merge($a, $b)->shouldHaveKeyWithValue('ID2', 5);
35$this->merge($a, $b)->shouldHaveKeyWithValue('ID3', 4);
36
37$this->merge($a, [])->shouldHaveCount(2);
38$this->merge($a, [])->shouldHaveKeyWithValue('ID1', 1);
39$this->merge($a, [])->shouldHaveKeyWithValue('ID2', 2);
40
41$this->merge([], $b)->shouldHaveCount(2);
42$this->merge([], $b)->shouldHaveKeyWithValue('ID2', 3);
43$this->merge([], $b)->shouldHaveKeyWithValue('ID3', 4);
44}
45}
46