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