-
Notifications
You must be signed in to change notification settings - Fork 3
Expand file tree
/
Copy pathBlogFrameSettingTest.php
More file actions
116 lines (104 loc) · 2.85 KB
/
BlogFrameSettingTest.php
File metadata and controls
116 lines (104 loc) · 2.85 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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
<?php
/**
* BlogFrameSetting Test Case
*
* @author Jun Nishikawa <topaz2@m0n0m0n0.com>
* @link http://www.netcommons.org NetCommons Project
* @license http://www.netcommons.org/license.txt NetCommons License
*/
App::uses('BlogFrameSetting', 'Blogs.Model');
/**
* Summary for BlogFrameSetting Test Case
*
* @property BlogFrameSetting $BlogFrameSetting
*/
class BlogFrameSettingTest extends CakeTestCase {
/**
* Fixtures
*
* @var array
*/
public $fixtures = array(
'plugin.blogs.blog_frame_setting',
'plugin.users.user', // Trackableビヘイビアでテーブルが必用
);
/**
* setUp method
*
* @return void
*/
public function setUp() {
parent::setUp();
$this->BlogFrameSetting = ClassRegistry::init('Blogs.BlogFrameSetting');
// モデルからビヘイビアをはずす:
$this->BlogFrameSetting->Behaviors->unload('Trackable');
}
/**
* tearDown method
*
* @return void
*/
public function tearDown() {
unset($this->BlogFrameSetting);
parent::tearDown();
}
/**
* test getSettingByFrameKey
*
* @return void
*/
public function testGetSettingByFrameKey() {
$frameSetting = $this->BlogFrameSetting->getSettingByFrameKey('frame_1');
$this->assertEquals('frame_1', $frameSetting['frame_key']);
}
/**
* test getSettingByFrameKey データがなければ作成される
*
* @return void
*/
public function testGetSettingByFrameKeyNotFound() {
$frameSetting = $this->BlogFrameSetting->getSettingByFrameKey('frame_key_not_found');
$this->assertEquals('frame_key_not_found', $frameSetting['frame_key']);
$this->assertTrue($frameSetting['id'] > 0);
}
/**
* test saveBlogFrameSetting
*
* @return void
*/
public function testSaveBlogFrameSetting() {
$data = $this->BlogFrameSetting->getNew();
// バリデート失敗
$resultFalse = $this->BlogFrameSetting->saveBlogFrameSetting($data);
$this->assertFalse($resultFalse);
// 保存成功
$data['BlogFrameSetting']['frame_key'] = 'frame_key';
$savedData = $this->BlogFrameSetting->saveBlogFrameSetting($data);
$this->assertTrue(($savedData['BlogFrameSetting']['id'] > 0));
}
/**
* test saveBlogFrameSetting save失敗で例外投げられるテスト
*
* @return void
*/
public function testSaveBlogFrameSettingSaveFailed() {
$data = $this->BlogFrameSetting->getNew();
$BlogFrameSettingMock = $this->getMockForModel('Blogs.BlogFrameSetting', ['save']);
$BlogFrameSettingMock->expects($this->once())
->method('save')
->will($this->returnValue(false));
// save fail
$data['BlogFrameSetting']['frame_key'] = 'frame_key';
$this->setExpectedException('InternalErrorException');
$BlogFrameSettingMock->saveBlogFrameSetting($data);
}
/**
* test getDisplayNumberOptions
*
* @return void
*/
public function testGetDisplayNumberOptions() {
$array = $this->BlogFrameSetting->getDisplayNumberOptions();
$this->assertInternalType('array', $array);
}
}