| | 230 | |
| | 231 | /** |
| | 232 | * @group groups_reject_membership_request |
| | 233 | */ |
| | 234 | public function test_bp_groups_reject_membership_request_remove_request() { |
| | 235 | $u1 = $this->factory->user->create(); |
| | 236 | $g = $this->factory->group->create( array( |
| | 237 | 'status' => 'private', |
| | 238 | ) ); |
| | 239 | |
| | 240 | // Membership requests should be removed. |
| | 241 | self::create_group_membership_request( $u1, $g ); |
| | 242 | groups_reject_membership_request( null, $u1, $g ); |
| | 243 | $u1_has_request = groups_check_for_membership_request( $u1, $g ); |
| | 244 | $this->assertEquals( 0, $u1_has_request ); |
| | 245 | } |
| | 246 | |
| | 247 | /** |
| | 248 | * @group groups_delete_membership_request |
| | 249 | */ |
| | 250 | public function test_bp_groups_delete_membership_request_remove_request() { |
| | 251 | $u1 = $this->factory->user->create(); |
| | 252 | $g = $this->factory->group->create( array( |
| | 253 | 'status' => 'private', |
| | 254 | ) ); |
| | 255 | |
| | 256 | // Membership requests should be removed. |
| | 257 | self::create_group_membership_request( $u1, $g ); |
| | 258 | groups_delete_membership_request( null, $u1, $g ); |
| | 259 | $u1_has_request = groups_check_for_membership_request( $u1, $g ); |
| | 260 | $this->assertEquals( 0, $u1_has_request ); |
| | 261 | } |
| | 262 | |
| | 263 | /** |
| | 264 | * @group groups_reject_invite |
| | 265 | */ |
| | 266 | public function test_bp_groups_reject_invite_remove_invite() { |
| | 267 | $u1 = $this->factory->user->create(); |
| | 268 | $u2 = $this->factory->user->create(); |
| | 269 | $g = $this->factory->group->create( array( |
| | 270 | 'status' => 'private', |
| | 271 | ) ); |
| | 272 | |
| | 273 | $now = time(); |
| | 274 | $this->add_user_to_group( $u1, $g, array( |
| | 275 | 'date_modified' => date( 'Y-m-d H:i:s', $now - 60 ), |
| | 276 | ) ); |
| | 277 | |
| | 278 | // The invitation should be removed. |
| | 279 | self::invite_user_to_group( $u2, $g, $u1 ); |
| | 280 | groups_reject_invite( $u2, $g ); |
| | 281 | $u2_has_invite = groups_check_user_has_invite( $u2, $g ); |
| | 282 | $this->assertEquals( 0, $u2_has_invite ); |
| | 283 | } |
| | 284 | |
| | 285 | /** |
| | 286 | * @group groups_delete_invite |
| | 287 | */ |
| | 288 | public function test_bp_groups_delete_invite_remove_invite() { |
| | 289 | $u1 = $this->factory->user->create(); |
| | 290 | $u2 = $this->factory->user->create(); |
| | 291 | $g = $this->factory->group->create( array( |
| | 292 | 'status' => 'private', |
| | 293 | ) ); |
| | 294 | |
| | 295 | $now = time(); |
| | 296 | $this->add_user_to_group( $u1, $g, array( |
| | 297 | 'date_modified' => date( 'Y-m-d H:i:s', $now - 60 ), |
| | 298 | ) ); |
| | 299 | |
| | 300 | // The invitation should be removed. |
| | 301 | self::invite_user_to_group( $u2, $g, $u1 ); |
| | 302 | groups_delete_invite( $u2, $g ); |
| | 303 | $u2_has_invite = groups_check_user_has_invite( $u2, $g ); |
| | 304 | $this->assertEquals( 0, $u2_has_invite ); |
| | 305 | } |
| | 306 | |
| | 307 | /** |
| | 308 | * @group groups_delete_invite |
| | 309 | */ |
| | 310 | public function test_bp_groups_delete_invite_leave_memberships_intact() { |
| | 311 | $u1 = $this->factory->user->create(); |
| | 312 | $g = $this->factory->group->create( array( |
| | 313 | 'status' => 'private', |
| | 314 | ) ); |
| | 315 | |
| | 316 | $now = time(); |
| | 317 | $this->add_user_to_group( $u1, $g, array( |
| | 318 | 'date_modified' => date( 'Y-m-d H:i:s', $now - 60 ), |
| | 319 | ) ); |
| | 320 | |
| | 321 | groups_delete_invite( $u1, $g ); |
| | 322 | $u1_is_member = groups_is_user_member( $u1, $g ); |
| | 323 | $this->assertTrue( is_numeric( $u1_is_member ) && $u1_is_member > 0 ); |
| | 324 | } |
| | 325 | |
| | 326 | /** |
| | 327 | * @group groups_uninvite_user |
| | 328 | */ |
| | 329 | public function test_bp_groups_uninvite_user_remove_invite() { |
| | 330 | $u1 = $this->factory->user->create(); |
| | 331 | $u2 = $this->factory->user->create(); |
| | 332 | $g = $this->factory->group->create( array( |
| | 333 | 'status' => 'private', |
| | 334 | ) ); |
| | 335 | |
| | 336 | $now = time(); |
| | 337 | $this->add_user_to_group( $u1, $g, array( |
| | 338 | 'date_modified' => date( 'Y-m-d H:i:s', $now - 60 ), |
| | 339 | ) ); |
| | 340 | |
| | 341 | // The invitation should be removed. |
| | 342 | self::invite_user_to_group( $u2, $g, $u1 ); |
| | 343 | groups_uninvite_user( $u2, $g ); |
| | 344 | $u2_has_invite = groups_check_user_has_invite( $u2, $g ); |
| | 345 | $this->assertEquals( 0, $u2_has_invite ); |
| | 346 | } |