Changeset 8538
- Timestamp:
- 06/16/2014 08:26:35 PM (9 years ago)
- Location:
- trunk/tests/phpunit
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/assets/group-extensions.php
r7490 r8538 147 147 function edit_screen_save( $group_id = null ) {} 148 148 } 149 150 class BPTest_Group_Extension_Enable_Nav_Item_True extends BP_Group_Extension { 151 public function __construct() { 152 $class_name = get_class( $this ); 153 154 $args = array( 155 'name' => $class_name, 156 'slug' => sanitize_title( $class_name ), 157 'enable_nav_item' => true, 158 ); 159 160 parent::init( $args ); 161 } 162 } 163 164 class BPTest_Group_Extension_Enable_Nav_Item_False extends BP_Group_Extension { 165 public function __construct() { 166 $class_name = get_class( $this ); 167 168 $args = array( 169 'name' => $class_name, 170 'slug' => sanitize_title( $class_name ), 171 'enable_nav_item' => false, 172 ); 173 174 parent::init( $args ); 175 } 176 } 177 178 class BPTest_Group_Extension_Visibility_Private extends BP_Group_Extension { 179 public function __construct() { 180 $class_name = get_class( $this ); 181 182 $args = array( 183 'name' => $class_name, 184 'slug' => sanitize_title( $class_name ), 185 'visibility' => 'private', 186 ); 187 188 parent::init( $args ); 189 } 190 } 191 192 class BPTest_Group_Extension_Visibility_Public extends BP_Group_Extension { 193 public function __construct() { 194 $class_name = get_class( $this ); 195 196 $args = array( 197 'name' => $class_name, 198 'slug' => sanitize_title( $class_name ), 199 'visibility' => 'public', 200 ); 201 202 parent::init( $args ); 203 } 204 } -
trunk/tests/phpunit/testcases/groups/class-bp-group-extension.php
r7332 r8538 223 223 $this->assertTrue( BP_Group_Extension::has_submit_button( $c ) ); 224 224 } 225 226 /** 227 * @group enable_nav_item 228 */ 229 public function test_enable_nav_item_true() { 230 $old_options_nav = buddypress()->bp_options_nav; 231 232 $g = $this->factory->group->create(); 233 $g_obj = groups_get_group( array( 'group_id' => $g ) ); 234 235 $class_name = 'BPTest_Group_Extension_Enable_Nav_Item_True'; 236 $e = new $class_name(); 237 238 $this->go_to( bp_get_group_permalink( $g_obj ) ); 239 240 $e->_register(); 241 242 $this->assertTrue( isset( buddypress()->bp_options_nav[ $g_obj->slug ][ $e->slug ] ) ); 243 244 // Clean up 245 buddypress()->bp_options_nav = $old_options_nav; 246 } 247 248 /** 249 * @group enable_nav_item 250 */ 251 public function test_enable_nav_item_false() { 252 $old_options_nav = buddypress()->bp_options_nav; 253 254 $g = $this->factory->group->create(); 255 $g_obj = groups_get_group( array( 'group_id' => $g ) ); 256 257 $class_name = 'BPTest_Group_Extension_Enable_Nav_Item_False'; 258 $e = new $class_name(); 259 260 $this->go_to( bp_get_group_permalink( $g_obj ) ); 261 262 $e->_register(); 263 264 $this->assertFalse( isset( buddypress()->bp_options_nav[ $g_obj->slug ][ $e->slug ] ) ); 265 266 // Clean up 267 buddypress()->bp_options_nav = $old_options_nav; 268 } 269 270 /** 271 * @group visibility 272 */ 273 public function test_visibility_private() { 274 $old_options_nav = buddypress()->bp_options_nav; 275 $old_current_user = get_current_user_id(); 276 277 $g = $this->factory->group->create( array( 278 'status' => 'private', 279 ) ); 280 $g_obj = groups_get_group( array( 'group_id' => $g ) ); 281 282 $class_name = 'BPTest_Group_Extension_Visibility_Private'; 283 $e = new $class_name(); 284 285 // Test as non-logged-in user 286 $this->set_current_user( 0 ); 287 $this->go_to( bp_get_group_permalink( $g_obj ) ); 288 $e->_register(); 289 $this->assertFalse( isset( buddypress()->bp_options_nav[ $g_obj->slug ][ $e->slug ] ) ); 290 291 // Clean up 292 buddypress()->bp_options_nav = $old_options_nav; 293 294 // Test as group member 295 $u = $this->create_user(); 296 $this->set_current_user( $u ); 297 $this->add_user_to_group( $u, $g ); 298 $this->go_to( bp_get_group_permalink( $g_obj ) ); 299 $e->_register(); 300 $this->assertTrue( isset( buddypress()->bp_options_nav[ $g_obj->slug ][ $e->slug ] ) ); 301 302 // Clean up 303 buddypress()->bp_options_nav = $old_options_nav; 304 $this->set_current_user( $old_current_user ); 305 } 306 307 /** 308 * @group visibility 309 * 310 * visibility=public + status=private results in adding the item to 311 * the nav. However, BP_Groups_Component::setup_globals() bounces the 312 * user away from this page on a regular pageload (BP 2.0 and under) 313 * 314 * @see https://buddypress.trac.wordpress.org/ticket/4785 315 */ 316 public function test_visibility_public() { 317 $old_options_nav = buddypress()->bp_options_nav; 318 $old_current_user = get_current_user_id(); 319 320 $g = $this->factory->group->create( array( 321 'status' => 'private', 322 ) ); 323 $g_obj = groups_get_group( array( 'group_id' => $g ) ); 324 325 $class_name = 'BPTest_Group_Extension_Visibility_Public'; 326 $e = new $class_name(); 327 328 // Test as non-logged-in user 329 $this->set_current_user( 0 ); 330 $this->go_to( bp_get_group_permalink( $g_obj ) ); 331 $e->_register(); 332 $this->assertTrue( isset( buddypress()->bp_options_nav[ $g_obj->slug ][ $e->slug ] ) ); 333 334 // Clean up 335 buddypress()->bp_options_nav = $old_options_nav; 336 337 // Test as group member 338 $u = $this->create_user(); 339 $this->set_current_user( $u ); 340 $this->add_user_to_group( $u, $g ); 341 $this->go_to( bp_get_group_permalink( $g_obj ) ); 342 $e->_register(); 343 $this->assertTrue( isset( buddypress()->bp_options_nav[ $g_obj->slug ][ $e->slug ] ) ); 344 345 // Clean up 346 buddypress()->bp_options_nav = $old_options_nav; 347 $this->set_current_user( $old_current_user ); 348 } 225 349 }
Note: See TracChangeset
for help on using the changeset viewer.