ViewFlashMessageRendererTest::testSetSkinMethod()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 2
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 5
rs 10
1
<?php
2
3
namespace Coderello\Laraflash\Tests;
4
5
use Coderello\Laraflash\Exceptions\SkinNotFoundException;
6
use Coderello\Laraflash\FlashMessage\FlashMessage;
7
use Coderello\Laraflash\FlashMessage\ViewFlashMessageRenderer;
8
use Coderello\Laraflash\Tests\Support\ViewFactory;
9
use Illuminate\Config\Repository as ConfigRepository;
10
11
class ViewFlashMessageRendererTest extends AbstractTestCase
12
{
13
    /** @var ConfigRepository */
14
    protected $configRepository;
15
16
    /** @var ViewFactory */
17
    protected $viewFactory;
18
19
    /** @var ViewFlashMessageRenderer */
20
    protected $viewFlashMessageRenderer;
21
22
    protected function setUp(): void
23
    {
24
        parent::setUp();
25
26
        $this->configRepository = new ConfigRepository;
27
28
        $this->viewFactory = new ViewFactory;
29
30
        $this->viewFlashMessageRenderer = new ViewFlashMessageRenderer(
31
            $this->viewFactory,
32
            $this->configRepository
33
        );
34
    }
35
36
    public function testGetSkinMethod()
37
    {
38
        $this->assertNull($this->viewFlashMessageRenderer->getSkin());
39
40
        $this->configRepository->set('laraflash.skin', 'foo');
41
42
        $this->assertSame('foo', $this->viewFlashMessageRenderer->getSkin());
43
44
        $this->viewFlashMessageRenderer->setSkin('bar');
45
46
        $this->assertSame('bar', $this->viewFlashMessageRenderer->getSkin());
47
    }
48
49
    public function testSetSkinMethod()
50
    {
51
        $this->viewFlashMessageRenderer->setSkin('foo');
52
53
        $this->assertSame('foo', $this->viewFlashMessageRenderer->getSkin());
54
    }
55
56
    public function testRenderMethodWithNonexistentSkin()
57
    {
58
        $this->viewFactory->exists = false;
59
60
        $this->expectException(SkinNotFoundException::class);
61
62
        $this->viewFlashMessageRenderer->render(
63
            new FlashMessage
64
        );
65
    }
66
67
    public function testRenderMethodWithExistentSkin()
68
    {
69
        $this->viewFactory->exists = true;
70
71
        $content = $this->viewFlashMessageRenderer->render(
72
            new FlashMessage
73
        );
74
75
        $this->assertSame(ViewFactory::MADE_CONTENT, $content);
76
    }
77
}
78