Skip to:
Content

BuddyPress.org

Ticket #3794: 3794.unittest.02.patch

File 3794.unittest.02.patch, 6.9 KB (added by imath, 5 years ago)
  • tests/phpunit/testcases/activity/functions.php

    diff --git tests/phpunit/testcases/activity/functions.php tests/phpunit/testcases/activity/functions.php
    index c6e09ac..a1e3f65 100644
    Bar!'; 
    765765        }
    766766
    767767        /**
     768         * @group favorites
     769         * @group bp_activity_add_user_favorite
     770         * @group BP3794
     771         */
     772        public function test_add_user_favorite_empty_activity_id() {
     773                $u = $this->create_user();
     774
     775                // an empty activity id should not be favorited
     776                $this->assertFalse( bp_activity_add_user_favorite( 0, $u ) );
     777        }
     778
     779        /**
     780         * @group favorites
     781         * @group bp_activity_add_user_favorite
     782         * @group BP3794
     783         */
     784        public function test_add_user_favorite_deleted_activity_id() {
     785                $u = $this->create_user();
     786                $a = $this->factory->activity->create();
     787
     788                // Delete the activity
     789                bp_activity_delete_by_activity_id( $a );
     790
     791                // an deleted activity should not be favorited
     792                $this->assertFalse( bp_activity_add_user_favorite( $a, $u ) );
     793                $this->assertEmpty( bp_activity_get_meta( $a, 'favorite_count' ) );
     794        }
     795
     796        /**
     797         * @group favorites
     798         * @group bp_activity_add_user_favorite
     799         * @group BP3794
     800         */
     801        public function test_add_user_favorite_good_activity_id() {
     802                $u = $this->create_user();
     803                $a = $this->factory->activity->create();
     804
     805                $this->assertTrue( bp_activity_add_user_favorite( $a, $u ) );
     806                $this->assertEquals( 1, bp_activity_get_meta( $a, 'favorite_count' ) );
     807        }
     808
     809        /**
     810         * @group favorites
     811         * @group bp_activity_remove_user_favorite
     812         * @group BP3794
     813         */
     814        public function test_remove_user_favorite_good_activity_id() {
     815                $u = $this->create_user();
     816                $a = $this->factory->activity->create();
     817
     818                bp_activity_add_user_favorite( $a, $u );
     819
     820                // Removing the favorite
     821                $this->assertTrue( bp_activity_remove_user_favorite( $a, $u ) );
     822                $this->assertEquals( 0, bp_activity_get_meta( $a, 'favorite_count' ) );
     823        }
     824
     825        /**
     826         * @group favorites
     827         * @group bp_activity_get_user_favorites()
     828         * @group BP3794
     829         */
     830        public function test_bp_activity_get_user_favorites() {
     831                $u = $this->create_user();
     832
     833                $activities = array(
     834                        $this->factory->activity->create(),
     835                        $this->factory->activity->create(),
     836                        $this->factory->activity->create()
     837                );
     838
     839                // Only favorite last 2 elements of the array
     840                bp_activity_add_user_favorite( $activities[1], $u );
     841                bp_activity_add_user_favorite( $activities[2], $u );
     842
     843                array_shift( $activities );
     844
     845                $this->assertEquals( $activities, bp_activity_get_user_favorites( $u ) );
     846        }
     847
     848        /**
     849         * @group favorites
     850         * @group bp_activity_total_favorites_for_user
     851         * @group BP3794
     852         */
     853        public function test_bp_activity_total_favorites_for_user() {
     854                $u1 = $this->create_user();
     855                $u2 = $this->create_user();
     856
     857                $activities = array(
     858                        $this->factory->activity->create(),
     859                        $this->factory->activity->create()
     860                );
     861
     862                // Only add favorites to user 1
     863                bp_activity_add_user_favorite( $activities[0], $u1 );
     864                bp_activity_add_user_favorite( $activities[1], $u1 );
     865
     866                $this->assertEquals( 2, bp_activity_total_favorites_for_user( $u1 ) );
     867                $this->assertEquals( 0, bp_activity_total_favorites_for_user( $u2 ) );
     868        }
     869
     870        /**
     871         * @group favorites
     872         * @group bp_activity_total_favorites_for_user
     873         * @group BP3794
     874         */
     875        public function test_count_user_favorite_after_activity_removed() {
     876                $u1 = $this->create_user();
     877                $a = $this->factory->activity->create();
     878
     879                // favorite activity
     880                bp_activity_add_user_favorite( $a, $u1 );
     881
     882                // Delete the activity
     883                bp_activity_delete_by_activity_id( $a );
     884
     885                $this->assertEquals( 0, bp_activity_total_favorites_for_user( $u1 ) );
     886        }
     887
     888        /**
     889         * @group favorites
     890         * @group bp_activity_add_favorite
     891         * @group BP3794
     892         */
     893        public function test_bp_activity_add_favorite() {
     894                $u = $this->create_user();
     895
     896                $activities = array(
     897                        $this->factory->activity->create(),
     898                        $this->factory->activity->create()
     899                );
     900
     901                // Only add favorites to user 1
     902                bp_activity_add_favorite( $activities[0], $u );
     903                bp_activity_add_favorite( $activities[1], $u );
     904
     905                $get = bp_activity_get( array(
     906                        'filter' => array( 'action' => 'activity_favorite' ),
     907                        'sort'   => 'ASC',
     908                ) );
     909
     910                $should = wp_list_pluck( $get['activities'], 'item_id' );
     911
     912                $this->assertEquals( $should, $activities );
     913        }
     914
     915        /**
     916         * @group favorites
     917         * @group bp_activity_add_favorite
     918         * @group BP3794
     919         */
     920        public function test_bp_activity_add_favorite_private_activity() {
     921                $u = $this->create_user();
     922
     923                $args = array( 'hide_sitewide' => 1 );
     924
     925                $activities = array(
     926                        $this->factory->activity->create(),
     927                        $this->factory->activity->create( $args ),
     928                        $this->factory->activity->create( $args ),
     929                );
     930
     931                // Only add favorites to user 1
     932                bp_activity_add_favorite( $activities[0], $u );
     933                bp_activity_add_favorite( $activities[1], $u );
     934                bp_activity_add_favorite( $activities[2], $u );
     935
     936                $get_public = bp_activity_get( array(
     937                        'filter' => array( 'action' => 'activity_favorite' ),
     938                        'sort'   => 'ASC',
     939                ) );
     940
     941                $shouldnot = wp_list_pluck( $get_public['activities'], 'item_id' );
     942
     943                $get_private = bp_activity_get( array(
     944                        'filter'        => array( 'action' => 'activity_favorite' ),
     945                        'sort'          => 'ASC',
     946                        'show_hidden'   => 1
     947                ) );
     948
     949                $should = wp_list_pluck( $get_private['activities'], 'item_id' );
     950
     951                $this->assertEquals( $should, $activities );
     952                $this->assertFalse( count( $activities ) == array_diff( $activities, $shouldnot ) );
     953        }
     954
     955        /**
     956         * @group favorites
     957         * @group bp_activity_favorites_migrate
     958         * @group BP3794
     959         */
     960        public function test_bp_activity_favorites_migrate() {
     961                $u1 = $this->create_user();
     962                $u2 = $this->create_user();
     963                $activities = $this->factory->activity->create_many( 10 );
     964
     965                $user_meta_favorites = array( $u1 => array(), $u2 => array() );
     966
     967                foreach ( $activities as $activity_id ) {
     968                        $modulo = $activity_id % 2;
     969
     970                        if ( empty( $modulo ) ) {
     971                                $user_meta_favorites[ $u2 ][] = $activity_id;
     972                                bp_activity_update_meta( $activity_id, 'favorite_count', 1 );
     973                        } else {
     974                                $user_meta_favorites[ $u1 ][] = $activity_id;
     975                                bp_activity_update_meta( $activity_id, 'favorite_count', 1 );
     976                        }
     977                }
     978
     979                bp_update_user_meta( $u1, 'bp_favorite_activities', $user_meta_favorites[ $u1 ] );
     980                bp_update_user_meta( $u2, 'bp_favorite_activities', $user_meta_favorites[ $u2 ] );
     981
     982                // migrate
     983                bp_activity_favorites_migrate();
     984
     985                $this->assertEquals( bp_get_user_meta( $u1, 'bp_favorite_activities', true ), bp_activity_get_user_favorites( $u1 ) );
     986                $this->assertEquals( bp_get_user_meta( $u2, 'bp_favorite_activities', true ), bp_activity_get_user_favorites( $u2 ) );
     987
     988                // Check if the ugrade changed the activity favorite count
     989                $unchanged = true;
     990
     991                foreach( $activities as $activity_id ) {
     992                        if ( 1 != bp_activity_get_meta( $activity_id, 'favorite_count' ) ) {
     993                                $unchanged = false;
     994                        }
     995                }
     996
     997                $this->assertTrue( $unchanged );
     998        }
     999
     1000        /**
    7681001         * @group bp_activity_post_update
    7691002         */
    7701003        public function test_bp_activity_post_update_empty_content() {