Completed
Push — master ( f1e0df...7f9031 )
by Henry
07:35
created

CategoryTest::testGetByAlias()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 14
rs 9.7998
c 0
b 0
f 0
cc 1
nc 1
nop 2
1
<?php
2
namespace Redaxscript\Tests\Model;
3
4
use Redaxscript\Db;
5
use Redaxscript\Model;
6
use Redaxscript\Tests\TestCaseAbstract;
7
8
/**
9
 * CategoryTest
10
 *
11
 * @since 4.0.0
12
 *
13
 * @package Redaxscript
14
 * @category Tests
15
 * @author Henry Ruhs
16
 *
17
 * @covers Redaxscript\Model\Category
18
 */
19
20
class CategoryTest extends TestCaseAbstract
21
{
22
	/**
23
	 * setUp
24
	 *
25
	 * @since 4.0.0
26
	 */
27
28
	public function setUp() : void
29
	{
30
		parent::setUp();
31
		$installer = $this->installerFactory();
32
		$installer->init();
33
		$installer->rawCreate();
34
		$categoryOne = Db::forTablePrefix('categories')->create();
35
		$categoryOne
36
			->set(
37
			[
38
				'title' => 'Category One',
39
				'alias' => 'category-one'
40
			])
41
			->save();
42
		Db::forTablePrefix('categories')
43
			->create()
44
			->set(
45
			[
46
				'title' => 'Category Two',
47
				'alias' => 'category-two',
48
				'parent' => $categoryOne->id
49
			])
50
			->save();
51
	}
52
53
	/**
54
	 * tearDown
55
	 *
56
	 * @since 4.0.0
57
	 */
58
59
	public function tearDown() : void
60
	{
61
		$this->dropDatabase();
62
	}
63
64
	/**
65
	 * testGetByAlias
66
	 *
67
	 * @since 4.0.0
68
	 *
69
	 * @param string $categoryAlias
70
	 * @param int $expect
71
	 *
72
	 * @dataProvider providerAutoloader
73
	 */
74
75
	public function testGetByAlias(string $categoryAlias = null, int $expect = null) : void
76
	{
77
		/* setup */
78
79
		$categoryModel = new Model\Category();
80
81
		/* actual */
82
83
		$actual = $categoryModel->getByAlias($categoryAlias)?->id;
0 ignored issues
show
Bug introduced by
This code did not parse for me. Apparently, there is an error somewhere around this line:

Syntax error, unexpected T_OBJECT_OPERATOR
Loading history...
84
85
		/* compare */
86
87
		$this->assertEquals($expect, $actual);
88
	}
89
90
	/**
91
	 * testGetRouteById
92
	 *
93
	 * @since 4.0.0
94
	 *
95
	 * @param int $categoryId
96
	 * @param string $expect
97
	 *
98
	 * @dataProvider providerAutoloader
99
	 */
100
101
	public function testGetRouteById(int $categoryId = null, string $expect = null) : void
102
	{
103
		/* setup */
104
105
		$categoryModel = new Model\Category();
106
107
		/* actual */
108
109
		$actual = $categoryModel->getRouteById($categoryId);
110
111
		/* compare */
112
113
		$this->assertEquals($expect, $actual);
114
	}
115
}
116