Completed
Push — master ( 3228c3...282357 )
by Jason
14:05
created
tests/ProductPageTest.php 1 patch
Indentation   +148 added lines, -148 removed lines patch added patch discarded remove patch
@@ -2,247 +2,247 @@
 block discarded – undo
2 2
 
3 3
 class ProductPageTest extends FS_Test{
4 4
 
5
-	protected static $use_draft_site = true;
5
+    protected static $use_draft_site = true;
6 6
 
7
-	function setUp(){
8
-		parent::setUp();
7
+    function setUp(){
8
+        parent::setUp();
9 9
 
10
-		$groupForItem = OptionGroup::create();
11
-		$groupForItem->Title = 'Sample-Group';
12
-		$groupForItem->write();
10
+        $groupForItem = OptionGroup::create();
11
+        $groupForItem->Title = 'Sample-Group';
12
+        $groupForItem->write();
13 13
 
14
-		/*$productHolder = ProductHolder::create();
14
+        /*$productHolder = ProductHolder::create();
15 15
 		$productHolder->Title = 'Product Holder';
16 16
 		$productHolder->write();*/
17
-	}
17
+    }
18 18
 
19
-	function testProductCreation(){
19
+    function testProductCreation(){
20 20
 
21
-		$this->logInWithPermission('Product_CANCRUD');
22
-		$default = $this->objFromFixture('ProductCategory', 'default');
23
-		$default->write();
24
-		$holder = $this->objFromFixture('ProductHolder', 'holder');
25
-		$holder->doPublish();
26
-		$product1 = $this->objFromFixture('ProductPage', 'product1');
27
-		//$product1->ParentID = ProductHolder::get()->first()->ID;
21
+        $this->logInWithPermission('Product_CANCRUD');
22
+        $default = $this->objFromFixture('ProductCategory', 'default');
23
+        $default->write();
24
+        $holder = $this->objFromFixture('ProductHolder', 'holder');
25
+        $holder->doPublish();
26
+        $product1 = $this->objFromFixture('ProductPage', 'product1');
27
+        //$product1->ParentID = ProductHolder::get()->first()->ID;
28 28
 
29
-		$product1->doPublish();
30
-		$this->assertTrue($product1->isPublished());
29
+        $product1->doPublish();
30
+        $this->assertTrue($product1->isPublished());
31 31
 
32
-	}
32
+    }
33 33
 
34
-	function testProductDeletion(){
34
+    function testProductDeletion(){
35 35
 
36
-		$this->logInWithPermission('Product_CANCRUD');
37
-		$holder = $this->objFromFixture('ProductHolder', 'holder');
38
-		$holder->doPublish();
39
-		$product2 = $this->objFromFixture('ProductPage', 'product2');
40
-		$productID = $product2->ID;
36
+        $this->logInWithPermission('Product_CANCRUD');
37
+        $holder = $this->objFromFixture('ProductHolder', 'holder');
38
+        $holder->doPublish();
39
+        $product2 = $this->objFromFixture('ProductPage', 'product2');
40
+        $productID = $product2->ID;
41 41
 
42
-		$product2->doPublish();
43
-		$this->assertTrue($product2->isPublished());
42
+        $product2->doPublish();
43
+        $this->assertTrue($product2->isPublished());
44 44
 
45
-		$versions = DB::query('Select * FROM "ProductPage_versions" WHERE "RecordID" = '. $productID);
46
-		$versionsPostPublish = array();
47
-		foreach($versions as $versionRow) $versionsPostPublish[] = $versionRow;
45
+        $versions = DB::query('Select * FROM "ProductPage_versions" WHERE "RecordID" = '. $productID);
46
+        $versionsPostPublish = array();
47
+        foreach($versions as $versionRow) $versionsPostPublish[] = $versionRow;
48 48
 
49
-		$product2->delete();
50
-		$this->assertTrue(!$product2->isPublished());
49
+        $product2->delete();
50
+        $this->assertTrue(!$product2->isPublished());
51 51
 
52
-		$versions = DB::query('Select * FROM "ProductPage_versions" WHERE "RecordID" = '. $productID);
53
-		$versionsPostDelete = array();
54
-		foreach($versions as $versionRow) $versionsPostDelete[] = $versionRow;
52
+        $versions = DB::query('Select * FROM "ProductPage_versions" WHERE "RecordID" = '. $productID);
53
+        $versionsPostDelete = array();
54
+        foreach($versions as $versionRow) $versionsPostDelete[] = $versionRow;
55 55
 
56
-		$this->assertTrue($versionsPostPublish == $versionsPostDelete);
56
+        $this->assertTrue($versionsPostPublish == $versionsPostDelete);
57 57
 
58
-	}
58
+    }
59 59
 
60
-	function testProductTitleLeadingWhiteSpace(){
60
+    function testProductTitleLeadingWhiteSpace(){
61 61
 
62
-		$this->logInWithPermission('ADMIN');
62
+        $this->logInWithPermission('ADMIN');
63 63
 
64
-		$holder = $this->objFromFixture('ProductHolder', 'holder');
65
-		$holder->doPublish();
64
+        $holder = $this->objFromFixture('ProductHolder', 'holder');
65
+        $holder->doPublish();
66 66
 
67
-		$product = $this->objFromFixture('ProductPage', 'product1');
68
-		$product->Title = " Test with leading space";
69
-		$product->doPublish();
67
+        $product = $this->objFromFixture('ProductPage', 'product1');
68
+        $product->Title = " Test with leading space";
69
+        $product->doPublish();
70 70
 
71
-		$this->assertTrue($product->Title == 'Test with leading space');
71
+        $this->assertTrue($product->Title == 'Test with leading space');
72 72
 
73
-	}
73
+    }
74 74
 
75
-	function testProductTitleTrailingWhiteSpace(){
75
+    function testProductTitleTrailingWhiteSpace(){
76 76
 
77
-		$this->logInWithPermission('ADMIN');
77
+        $this->logInWithPermission('ADMIN');
78 78
 
79
-		$holder = $this->objFromFixture('ProductHolder', 'holder');
80
-		$holder->doPublish();
79
+        $holder = $this->objFromFixture('ProductHolder', 'holder');
80
+        $holder->doPublish();
81 81
 
82
-		$product = $this->objFromFixture('ProductPage', 'product1');
83
-		$product->Title = "Test with trailing space ";
84
-		$product->doPublish();
82
+        $product = $this->objFromFixture('ProductPage', 'product1');
83
+        $product->Title = "Test with trailing space ";
84
+        $product->doPublish();
85 85
 
86
-		$this->assertTrue($product->Title == 'Test with trailing space');
86
+        $this->assertTrue($product->Title == 'Test with trailing space');
87 87
 
88
-	}
88
+    }
89 89
 
90
-	function testProductCategoryCreation(){
90
+    function testProductCategoryCreation(){
91 91
 
92
-		$this->logInWithPermission('Product_CANCRUD');
93
-		$category = $this->objFromFixture('ProductCategory', 'apparel');
94
-		$category->write();
95
-		$categoryID = $category->ID;
92
+        $this->logInWithPermission('Product_CANCRUD');
93
+        $category = $this->objFromFixture('ProductCategory', 'apparel');
94
+        $category->write();
95
+        $categoryID = $category->ID;
96 96
 
97
-		$productCategory = ProductCategory::get()->filter(array('Code'=>'APPAREL'))->first();
97
+        $productCategory = ProductCategory::get()->filter(array('Code'=>'APPAREL'))->first();
98 98
 
99
-		$this->assertTrue($categoryID == $productCategory->ID);
99
+        $this->assertTrue($categoryID == $productCategory->ID);
100 100
 
101
-	}
101
+    }
102 102
 
103
-	function testProductCategoryDeletion(){
103
+    function testProductCategoryDeletion(){
104 104
 
105
-		$this->logInWithPermission('Product_CANCRUD');
105
+        $this->logInWithPermission('Product_CANCRUD');
106 106
 
107
-		$category = $this->objFromFixture('ProductCategory', 'default');
108
-		$category->write();
107
+        $category = $this->objFromFixture('ProductCategory', 'default');
108
+        $category->write();
109 109
 
110
-		$this->assertFalse($category->canDelete());
110
+        $this->assertFalse($category->canDelete());
111 111
 
112
-		$category2 = $this->objFromFixture('ProductCategory', 'apparel');
113
-		$category2->write();
114
-		$category2ID = $category2->ID;
112
+        $category2 = $this->objFromFixture('ProductCategory', 'apparel');
113
+        $category2->write();
114
+        $category2ID = $category2->ID;
115 115
 
116
-		$this->assertTrue($category2->canDelete());
116
+        $this->assertTrue($category2->canDelete());
117 117
 
118
-		$this->logOut();
118
+        $this->logOut();
119 119
 
120
-		$this->logInWithPermission('ADMIN');
120
+        $this->logInWithPermission('ADMIN');
121 121
 
122
-		$this->assertFalse($category->canDelete());
123
-		$this->assertTrue($category2->canDelete());
122
+        $this->assertFalse($category->canDelete());
123
+        $this->assertTrue($category2->canDelete());
124 124
 
125
-		$this->logOut();
126
-		$this->logInWithPermission('Product_CANCRUD');
125
+        $this->logOut();
126
+        $this->logInWithPermission('Product_CANCRUD');
127 127
 
128
-		$category2->delete();
128
+        $category2->delete();
129 129
 
130
-		$this->assertFalse(in_array($category2ID,ProductCategory::get()->column('ID')));
130
+        $this->assertFalse(in_array($category2ID,ProductCategory::get()->column('ID')));
131 131
 
132
-	}
132
+    }
133 133
 
134
-	function testOptionGroupCreation(){
134
+    function testOptionGroupCreation(){
135 135
 
136
-		$this->logInWithPermission('Product_CANCRUD');
136
+        $this->logInWithPermission('Product_CANCRUD');
137 137
 
138
-		$group = $this->objFromFixture('OptionGroup', 'size');
139
-		$group->write();
138
+        $group = $this->objFromFixture('OptionGroup', 'size');
139
+        $group->write();
140 140
 
141
-		$this->assertNotNull(OptionGroup::get()->first());
141
+        $this->assertNotNull(OptionGroup::get()->first());
142 142
 
143
-	}
143
+    }
144 144
 
145
-	function testOptionGroupDeletion(){
145
+    function testOptionGroupDeletion(){
146 146
 
147
-		$this->logInWithPermission('ADMIN');
148
-		$group = $this->objFromFixture('OptionGroup', 'color');
149
-		$group->write();
150
-		$groupID = $group->ID;
147
+        $this->logInWithPermission('ADMIN');
148
+        $group = $this->objFromFixture('OptionGroup', 'color');
149
+        $group->write();
150
+        $groupID = $group->ID;
151 151
 
152
-		$this->assertTrue($group->canDelete());
152
+        $this->assertTrue($group->canDelete());
153 153
 
154
-		$this->logOut();
155
-		$this->logInWithPermission('Product_CANCRUD');
154
+        $this->logOut();
155
+        $this->logInWithPermission('Product_CANCRUD');
156 156
 
157
-		$this->assertTrue($group->canDelete());
158
-		$group->delete();
157
+        $this->assertTrue($group->canDelete());
158
+        $group->delete();
159 159
 
160
-		$this->assertFalse(in_array($groupID, OptionGroup::get()->column('ID')));
160
+        $this->assertFalse(in_array($groupID, OptionGroup::get()->column('ID')));
161 161
 
162
-	}
162
+    }
163 163
 
164
-	function testOptionItemCreation(){
164
+    function testOptionItemCreation(){
165 165
 
166
-		$this->logInWithPermission('Product_CANCRUD');
166
+        $this->logInWithPermission('Product_CANCRUD');
167 167
 
168
-		$optionGroup = OptionGroup::get()->filter(array('Title' => 'Sample-Group'))->first();
168
+        $optionGroup = OptionGroup::get()->filter(array('Title' => 'Sample-Group'))->first();
169 169
 
170
-		$option = $this->objFromFixture('OptionItem', 'large');
171
-		$option->ProductOptionGroupID = $optionGroup->ID;
172
-		$option->write();
170
+        $option = $this->objFromFixture('OptionItem', 'large');
171
+        $option->ProductOptionGroupID = $optionGroup->ID;
172
+        $option->write();
173 173
 
174
-		$optionID = $option->ID;
174
+        $optionID = $option->ID;
175 175
 
176
-		$optionItem = OptionItem::get()->filter(array('ProductOptionGroupID' => $optionGroup->ID))->first();
176
+        $optionItem = OptionItem::get()->filter(array('ProductOptionGroupID' => $optionGroup->ID))->first();
177 177
 
178
-		$this->assertEquals($optionID, $optionItem->ID);
178
+        $this->assertEquals($optionID, $optionItem->ID);
179 179
 
180
-	}
180
+    }
181 181
 
182
-	function testOptionItemDeletion(){
182
+    function testOptionItemDeletion(){
183 183
 
184
-		$this->logInWithPermission('ADMIN');
184
+        $this->logInWithPermission('ADMIN');
185 185
 
186
-		$optionGroup = $this->objFromFixture('OptionGroup', 'size');
187
-		$optionGroup->write();
186
+        $optionGroup = $this->objFromFixture('OptionGroup', 'size');
187
+        $optionGroup->write();
188 188
 
189
-		$option = $this->objFromFixture('OptionItem', 'small');
190
-		$option->write();
189
+        $option = $this->objFromFixture('OptionItem', 'small');
190
+        $option->write();
191 191
 
192
-		$optionID = $option->ID;
192
+        $optionID = $option->ID;
193 193
 
194
-		$this->assertTrue($option->canDelete());
194
+        $this->assertTrue($option->canDelete());
195 195
 
196
-		$this->logOut();
197
-		$this->logInWithPermission('Product_CANCRUD');
196
+        $this->logOut();
197
+        $this->logInWithPermission('Product_CANCRUD');
198 198
 
199
-		$this->assertTrue($option->canDelete());
200
-		$option->delete();
199
+        $this->assertTrue($option->canDelete());
200
+        $option->delete();
201 201
 
202
-		$this->assertFalse(in_array($optionID, OptionItem::get()->column('ID')));
202
+        $this->assertFalse(in_array($optionID, OptionItem::get()->column('ID')));
203 203
 
204
-	}
204
+    }
205 205
 
206
-	public function testProductDraftOptionDeletion(){
206
+    public function testProductDraftOptionDeletion(){
207 207
 
208
-		self::$use_draft_site = false;//make sure we can publish
208
+        self::$use_draft_site = false;//make sure we can publish
209 209
 
210
-		$this->logInWithPermission('ADMIN');
210
+        $this->logInWithPermission('ADMIN');
211 211
 
212
-		$holder = $this->objFromFixture('ProductHolder', 'holder');//build holder page, ProductPage can't be on root level
213
-		$holder->doPublish();
212
+        $holder = $this->objFromFixture('ProductHolder', 'holder');//build holder page, ProductPage can't be on root level
213
+        $holder->doPublish();
214 214
 
215
-		$product = $this->objFromFixture('ProductPage', 'product1');//build product page
216
-		$product->doPublish();
215
+        $product = $this->objFromFixture('ProductPage', 'product1');//build product page
216
+        $product->doPublish();
217 217
 
218
-		$productID = $product->ID;
218
+        $productID = $product->ID;
219 219
 
220 220
 
221
-		$optionGroup = $this->objFromFixture('OptionGroup', 'size');//build the group for the options
222
-		$optionGroup->write();
223
-		$option = $this->objFromFixture('OptionItem', 'small');//build first option
224
-		$option->write();
225
-		$option2 = $this->objFromFixture('OptionItem', 'large');//build second option
226
-		$option2->write();
221
+        $optionGroup = $this->objFromFixture('OptionGroup', 'size');//build the group for the options
222
+        $optionGroup->write();
223
+        $option = $this->objFromFixture('OptionItem', 'small');//build first option
224
+        $option->write();
225
+        $option2 = $this->objFromFixture('OptionItem', 'large');//build second option
226
+        $option2->write();
227 227
 
228
-		$this->assertTrue($product->isPublished());//check that product is published
228
+        $this->assertTrue($product->isPublished());//check that product is published
229 229
 
230
-		$product->deleteFromStage('Stage');//remove product from draft site
230
+        $product->deleteFromStage('Stage');//remove product from draft site
231 231
 
232
-		$this->assertTrue($product->isPublished());//check product is still published
232
+        $this->assertTrue($product->isPublished());//check product is still published
233 233
 
234
-		$testOption = OptionItem::get()->filter(array('Title' => 'Large', 'ProductID' => $productID))->first();
234
+        $testOption = OptionItem::get()->filter(array('Title' => 'Large', 'ProductID' => $productID))->first();
235 235
 
236
-		$this->assertThat($testOption->ID, $this->logicalNot($this->equalTo(0)));//make sure the first option still exists
236
+        $this->assertThat($testOption->ID, $this->logicalNot($this->equalTo(0)));//make sure the first option still exists
237 237
 
238
-		$product->doRestoreToStage();//restore page to draft site
239
-		$product->doUnpublish();//unpublish page
240
-		$product->deleteFromStage('Stage');//remove product from draft site
238
+        $product->doRestoreToStage();//restore page to draft site
239
+        $product->doUnpublish();//unpublish page
240
+        $product->deleteFromStage('Stage');//remove product from draft site
241 241
 
242
-		$checkDeleted = OptionItem::get()->filter(array('Title' => 'Large', 'ProductID' => $productID))->first();//query same option as above
242
+        $checkDeleted = OptionItem::get()->filter(array('Title' => 'Large', 'ProductID' => $productID))->first();//query same option as above
243 243
 
244
-		$this->assertEquals($checkDeleted->ID, 0);//check that the ID is 0 (empty object/non-existent)
244
+        $this->assertEquals($checkDeleted->ID, 0);//check that the ID is 0 (empty object/non-existent)
245 245
 
246
-	}
246
+    }
247 247
 
248 248
 }
Please login to merge, or discard this patch.