Changeset 9258 for trunk/tests/phpunit/testcases/activity/template.php
- Timestamp:
- 12/22/2014 09:50:47 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/testcases/activity/template.php
r9139 r9258 90 90 * 91 91 * @ticket BP4872 92 * @group scope 92 93 */ 93 94 public function test_bp_has_activities_favorites_action_filter() { … … 140 141 $this->assertEquals( array( $a1 ), $ids ); 141 142 143 $activities_template = null; 144 } 145 146 /** 147 * @group scope 148 * @group filter_query 149 * @group BP_Activity_Query 150 */ 151 function test_bp_has_activities_mentions_scope() { 152 $u1 = $this->factory->user->create(); 153 $u2 = $this->factory->user->create(); 154 155 $now = time(); 156 157 // mentioned activity item 158 $mention_username = '@' . bp_activity_get_user_mentionname( $u1 ); 159 $a1 = $this->factory->activity->create( array( 160 'user_id' => $u2, 161 'type' => 'activity_update', 162 'content' => "{$mention_username} - You rule, dude!", 163 'recorded_time' => date( 'Y-m-d H:i:s', $now ), 164 ) ); 165 166 // misc activity items 167 $this->factory->activity->create( array( 168 'user_id' => $u1, 169 'component' => 'blogs', 170 'item_id' => 1, 171 'type' => 'new_blog_post', 172 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 173 ) ); 174 $this->factory->activity->create( array( 175 'user_id' => $u2, 176 'component' => 'activity', 177 'type' => 'activity_update', 178 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 179 ) ); 180 $this->factory->activity->create( array( 181 'user_id' => $u2, 182 'component' => 'groups', 183 'item_id' => 324, 184 'type' => 'activity_update', 185 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 186 ) ); 187 188 global $activities_template; 189 190 // grab activities from multiple scopes 191 bp_has_activities( array( 192 'user_id' => $u1, 193 'scope' => 'mentions', 194 ) ); 195 196 // assert! 197 $this->assertEqualSets( array( $a1 ), wp_list_pluck( $activities_template->activities, 'id' ) ); 198 199 // clean up! 200 $activities_template = null; 201 } 202 203 /** 204 * @group scope 205 * @group filter_query 206 * @group BP_Activity_Query 207 */ 208 function test_bp_has_activities_friends_and_mentions_scope() { 209 $u1 = $this->factory->user->create(); 210 $u2 = $this->factory->user->create(); 211 $u3 = $this->factory->user->create(); 212 213 // user 1 becomes friends with user 2 214 friends_add_friend( $u1, $u2, true ); 215 216 $now = time(); 217 218 // friend status update 219 $a1 = $this->factory->activity->create( array( 220 'user_id' => $u2, 221 'type' => 'activity_update', 222 'recorded_time' => date( 'Y-m-d H:i:s', $now ), 223 ) ); 224 225 // mentioned item by non-friend 226 $mention_username = '@' . bp_activity_get_user_mentionname( $u1 ); 227 $a2 = $this->factory->activity->create( array( 228 'user_id' => $u3, 229 'component' => 'activity', 230 'type' => 'activity_update', 231 'content' => "{$mention_username} - Oy!", 232 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 233 ) ); 234 235 // misc activity items 236 $this->factory->activity->create( array( 237 'user_id' => $u1, 238 'component' => 'blogs', 239 'item_id' => 1, 240 'type' => 'new_blog_post', 241 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 242 ) ); 243 $this->factory->activity->create( array( 244 'user_id' => $u3, 245 'component' => 'activity', 246 'type' => 'activity_update', 247 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 248 ) ); 249 $this->factory->activity->create( array( 250 'user_id' => $u3, 251 'component' => 'groups', 252 'item_id' => 324, 253 'type' => 'activity_update', 254 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 255 ) ); 256 257 global $activities_template; 258 259 // grab activities from multiple scopes 260 bp_has_activities( array( 261 'user_id' => $u1, 262 'scope' => 'mentions,friends', 263 ) ); 264 265 // assert! 266 $this->assertEqualSets( array( $a1, $a2 ), wp_list_pluck( $activities_template->activities, 'id' ) ); 267 268 // clean up! 269 $activities_template = null; 270 } 271 272 /** 273 * @group scope 274 * @group filter_query 275 * @group BP_Activity_Query 276 */ 277 function test_bp_has_activities_groups_and_friends_scope() { 278 $u1 = $this->factory->user->create(); 279 $u2 = $this->factory->user->create(); 280 $u3 = $this->factory->user->create(); 281 282 // user 1 becomes friends with user 2 283 friends_add_friend( $u1, $u2, true ); 284 285 // user 1 joins a group 286 $g1 = $this->factory->group->create( array( 'creator_id' => $u1 ) ); 287 $g2 = $this->factory->group->create( array( 'creator_id' => $u1 ) ); 288 289 $now = time(); 290 291 // friend status update 292 $a1 = $this->factory->activity->create( array( 293 'user_id' => $u2, 294 'type' => 'activity_update', 295 'recorded_time' => date( 'Y-m-d H:i:s', $now ), 296 ) ); 297 298 // group activity 299 $a2 = $this->factory->activity->create( array( 300 'user_id' => $u3, 301 'component' => 'groups', 302 'item_id' => $g1, 303 'type' => 'joined_group', 304 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 305 ) ); 306 307 // misc activity items 308 $this->factory->activity->create( array( 309 'user_id' => $u3, 310 'component' => 'blogs', 311 'item_id' => 1, 312 'type' => 'new_blog_post', 313 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 314 ) ); 315 $this->factory->activity->create( array( 316 'user_id' => $u3, 317 'component' => 'activity', 318 'type' => 'activity_update', 319 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 320 ) ); 321 $this->factory->activity->create( array( 322 'user_id' => $u3, 323 'component' => 'groups', 324 'item_id' => 324, 325 'type' => 'activity_update', 326 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 327 ) ); 328 329 global $activities_template; 330 331 // grab activities from multiple scopes 332 bp_has_activities( array( 333 'user_id' => $u1, 334 'scope' => 'groups,friends', 335 ) ); 336 337 // assert! 338 $this->assertEqualSets( array( $a1, $a2 ), wp_list_pluck( $activities_template->activities, 'id' ) ); 339 340 // clean up! 341 $activities_template = null; 342 } 343 344 /** 345 * @group filter_query 346 * @group BP_Activity_Query 347 */ 348 function test_bp_has_activities_with_filter_query_nested_conditions() { 349 $u1 = $this->factory->user->create(); 350 $u2 = $this->factory->user->create(); 351 $u3 = $this->factory->user->create(); 352 353 $now = time(); 354 355 $a1 = $this->factory->activity->create( array( 356 'user_id' => $u3, 357 'component' => 'blogs', 358 'item_id' => 1, 359 'type' => 'new_blog_post', 360 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 361 ) ); 362 $a2 = $this->factory->activity->create( array( 363 'user_id' => $u2, 364 'component' => 'activity', 365 'type' => 'activity_update', 366 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 367 ) ); 368 369 // misc activity items 370 $this->factory->activity->create( array( 371 'user_id' => $u3, 372 'component' => 'activity', 373 'type' => 'activity_update', 374 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 375 ) ); 376 $this->factory->activity->create( array( 377 'user_id' => $u3, 378 'component' => 'groups', 379 'item_id' => 324, 380 'type' => 'activity_update', 381 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 382 ) ); 383 384 global $activities_template; 385 386 bp_has_activities( array( 387 'filter_query' => array( 388 'relation' => 'OR', 389 array( 390 'column' => 'component', 391 'value' => 'blogs', 392 ), 393 array( 394 'relation' => 'AND', 395 array( 396 'column' => 'type', 397 'value' => 'activity_update', 398 ), 399 array( 400 'column' => 'user_id', 401 'value' => $u2, 402 ), 403 ), 404 ) 405 ) ); 406 407 // assert! 408 $this->assertEqualSets( array( $a1, $a2 ), wp_list_pluck( $activities_template->activities, 'id' ) ); 409 410 // clean up! 411 $activities_template = null; 412 } 413 414 /** 415 * @group filter_query 416 * @group BP_Activity_Query 417 */ 418 function test_bp_has_activities_with_filter_query_compare_not_in_operator() { 419 $u1 = $this->factory->user->create(); 420 $u2 = $this->factory->user->create(); 421 $u3 = $this->factory->user->create(); 422 423 $now = time(); 424 425 // misc activity items 426 $a1 = $this->factory->activity->create( array( 427 'user_id' => $u3, 428 'component' => 'blogs', 429 'item_id' => 1, 430 'type' => 'new_blog_post', 431 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 432 ) ); 433 $a2 = $this->factory->activity->create( array( 434 'user_id' => $u2, 435 'component' => 'activity', 436 'type' => 'activity_update', 437 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 438 ) ); 439 $a3 = $this->factory->activity->create( array( 440 'user_id' => $u3, 441 'component' => 'activity', 442 'type' => 'activity_update', 443 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 444 ) ); 445 $a4 = $this->factory->activity->create( array( 446 'user_id' => $u3, 447 'component' => 'groups', 448 'item_id' => 324, 449 'type' => 'activity_update', 450 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 451 ) ); 452 453 global $activities_template; 454 455 bp_has_activities( array( 456 'filter_query' => array( 457 array( 458 'column' => 'id', 459 'compare' => 'NOT IN', 460 'value' => array( $a1, $a4 ), 461 ), 462 ) 463 ) ); 464 465 // assert! 466 $this->assertEqualSets( array( $a2, $a3 ), wp_list_pluck( $activities_template->activities, 'id' ) ); 467 468 // clean up! 469 $activities_template = null; 470 } 471 472 /** 473 * @group filter_query 474 * @group BP_Activity_Query 475 */ 476 function test_bp_has_activities_with_filter_query_compare_between_operator() { 477 $u1 = $this->factory->user->create(); 478 479 $now = time(); 480 481 // misc activity items 482 $a1 = $this->factory->activity->create( array( 483 'user_id' => $u1, 484 'component' => 'blogs', 485 'item_id' => 1, 486 'type' => 'new_blog_post', 487 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 488 ) ); 489 $a2 = $this->factory->activity->create( array( 490 'user_id' => $u1, 491 'component' => 'activity', 492 'type' => 'activity_update', 493 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 494 ) ); 495 $a3 = $this->factory->activity->create( array( 496 'user_id' => $u1, 497 'component' => 'activity', 498 'type' => 'activity_update', 499 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 500 ) ); 501 $a4 = $this->factory->activity->create( array( 502 'user_id' => $u1, 503 'component' => 'groups', 504 'item_id' => 324, 505 'type' => 'activity_update', 506 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 507 ) ); 508 509 global $activities_template; 510 511 bp_has_activities( array( 512 'filter_query' => array( 513 array( 514 'column' => 'id', 515 'compare' => 'BETWEEN', 516 'value' => array( $a3, $a4 ), 517 ), 518 ) 519 ) ); 520 521 // assert! 522 $this->assertEqualSets( array( $a3, $a4 ), wp_list_pluck( $activities_template->activities, 'id' ) ); 523 524 // clean up! 525 $activities_template = null; 526 } 527 528 /** 529 * @group filter_query 530 * @group BP_Activity_Query 531 */ 532 function test_bp_has_activities_with_filter_query_compare_arithmetic_comparisons() { 533 $u1 = $this->factory->user->create(); 534 535 $now = time(); 536 537 // misc activity items 538 $a1 = $this->factory->activity->create( array( 539 'user_id' => $u1, 540 'component' => 'activity', 541 'item_id' => 1, 542 'type' => 'activity_update', 543 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 544 ) ); 545 $a2 = $this->factory->activity->create( array( 546 'user_id' => $u1, 547 'component' => 'activity', 548 'item_id' => 10, 549 'type' => 'activity_update', 550 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 551 ) ); 552 $a3 = $this->factory->activity->create( array( 553 'user_id' => $u1, 554 'component' => 'activity', 555 'item_id' => 25, 556 'type' => 'activity_update', 557 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 558 ) ); 559 $a4 = $this->factory->activity->create( array( 560 'user_id' => $u1, 561 'component' => 'activity', 562 'item_id' => 100, 563 'type' => 'activity_update', 564 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 565 ) ); 566 567 global $activities_template; 568 569 // greater than 570 bp_has_activities( array( 571 'filter_query' => array( 572 array( 573 'column' => 'item_id', 574 'compare' => '>', 575 'value' => 10, 576 ), 577 ) 578 ) ); 579 580 // assert! 581 $this->assertEqualSets( array( $a3, $a4 ), wp_list_pluck( $activities_template->activities, 'id' ) ); 582 583 // greater or equal than 584 bp_has_activities( array( 585 'filter_query' => array( 586 array( 587 'column' => 'item_id', 588 'compare' => '>=', 589 'value' => 10, 590 ), 591 ) 592 ) ); 593 594 // assert! 595 $this->assertEqualSets( array( $a2, $a3, $a4 ), wp_list_pluck( $activities_template->activities, 'id' ) ); 596 597 // less than 598 bp_has_activities( array( 599 'filter_query' => array( 600 array( 601 'column' => 'item_id', 602 'compare' => '<', 603 'value' => 10, 604 ), 605 ) 606 ) ); 607 608 // assert! 609 $this->assertEqualSets( array( $a1 ), wp_list_pluck( $activities_template->activities, 'id' ) ); 610 611 // less or equal than 612 bp_has_activities( array( 613 'filter_query' => array( 614 array( 615 'column' => 'item_id', 616 'compare' => '<=', 617 'value' => 10, 618 ), 619 ) 620 ) ); 621 622 // assert! 623 $this->assertEqualSets( array( $a1, $a2 ), wp_list_pluck( $activities_template->activities, 'id' ) ); 624 625 // not equal to 626 bp_has_activities( array( 627 'filter_query' => array( 628 array( 629 'column' => 'item_id', 630 'compare' => '!=', 631 'value' => 10, 632 ), 633 ) 634 ) ); 635 636 // assert! 637 $this->assertEqualSets( array( $a1, $a3, $a4 ), wp_list_pluck( $activities_template->activities, 'id' ) ); 638 639 // clean up! 640 $activities_template = null; 641 } 642 643 /** 644 * @group filter_query 645 * @group BP_Activity_Query 646 */ 647 function test_bp_has_activities_with_filter_query_compare_regex() { 648 $u1 = $this->factory->user->create(); 649 650 $now = time(); 651 652 // misc activity items 653 $a1 = $this->factory->activity->create( array( 654 'user_id' => $u1, 655 'component' => 'blogs', 656 'item_id' => 1, 657 'type' => 'new_blog_post', 658 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 659 ) ); 660 $a2 = $this->factory->activity->create( array( 661 'user_id' => $u1, 662 'component' => 'blogs', 663 'type' => 'new_blog_comment', 664 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 665 ) ); 666 $a3 = $this->factory->activity->create( array( 667 'user_id' => $u1, 668 'component' => 'activity', 669 'type' => 'activity_update', 670 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 671 ) ); 672 $a4 = $this->factory->activity->create( array( 673 'user_id' => $u1, 674 'component' => 'groups', 675 'item_id' => 324, 676 'type' => 'activity_update', 677 'recorded_time' => date( 'Y-m-d H:i:s', $now - 100 ), 678 ) ); 679 680 global $activities_template; 681 682 // REGEXP 683 bp_has_activities( array( 684 'filter_query' => array( 685 array( 686 'column' => 'type', 687 'compare' => 'REGEXP', 688 'value' => '^new_blog_', 689 ), 690 ) 691 ) ); 692 693 // assert! 694 $this->assertEqualSets( array( $a1, $a2 ), wp_list_pluck( $activities_template->activities, 'id' ) ); 695 696 // RLIKE is a synonym for REGEXP 697 bp_has_activities( array( 698 'filter_query' => array( 699 array( 700 'column' => 'type', 701 'compare' => 'RLIKE', 702 'value' => '^new_blog_', 703 ), 704 ) 705 ) ); 706 707 // assert! 708 $this->assertEqualSets( array( $a1, $a2 ), wp_list_pluck( $activities_template->activities, 'id' ) ); 709 710 // NOT REGEXP 711 bp_has_activities( array( 712 'filter_query' => array( 713 array( 714 'column' => 'type', 715 'compare' => 'NOT REGEXP', 716 'value' => '^new_blog_', 717 ), 718 ) 719 ) ); 720 721 // assert! 722 $this->assertEqualSets( array( $a3, $a4 ), wp_list_pluck( $activities_template->activities, 'id' ) ); 723 724 // clean up! 142 725 $activities_template = null; 143 726 }
Note: See TracChangeset
for help on using the changeset viewer.