[ Index ] |
PHP Cross Reference of BuddyPress |
[Summary view] [Print] [Text view]
1 <?php 2 3 /** 4 * @group friends 5 */ 6 class BP_Tests_BP_Friends_Friendship_TestCases extends BP_UnitTestCase { 7 8 /** __construct() ***************************************************/ 9 10 /** 11 * @group __construct 12 */ 13 public function test_non_existent_friendship() { 14 $friendship = new BP_Friends_Friendship( 123456789 ); 15 $this->assertSame( 0, $friendship->id ); 16 } 17 18 /** 19 * @group __construct 20 * @expectedDeprecated BP_Friends_Friendship::__construct 21 */ 22 public function test_deprecated_arg() { 23 $friendship = new BP_Friends_Friendship( 123456789, true ); 24 $this->assertSame( 0, $friendship->id ); 25 } 26 27 public function test_search_friends() { 28 $u1 = self::factory()->user->create(); 29 $u2 = self::factory()->user->create(); 30 $u3 = self::factory()->user->create(); 31 32 xprofile_set_field_data( 1, $u2, 'Cool Dude' ); 33 xprofile_set_field_data( 1, $u3, 'Rock And Roll America Yeah' ); 34 35 friends_add_friend( $u1, $u2, true ); 36 friends_add_friend( $u1, $u3, true ); 37 38 $friends = BP_Friends_Friendship::search_friends( 'Coo', $u1 ); 39 $this->assertEquals( array( $u2 ), $friends['friends'] ); 40 } 41 42 /** 43 * @ticket BP6546 44 */ 45 public function test_search_friends_with_xprofile_inactive() { 46 $this->deactivate_component( 'xprofile' ); 47 48 $u1 = self::factory()->user->create(); 49 $u2 = self::factory()->user->create(); 50 $u3 = self::factory()->user->create(); 51 52 add_user_meta( $u2, 'nickname', 'Cool Dude' ); 53 add_user_meta( $u3, 'nickname', 'Rock And Roll America Yeah' ); 54 55 friends_add_friend( $u1, $u2, true ); 56 friends_add_friend( $u1, $u3, true ); 57 58 $friends = BP_Friends_Friendship::search_friends( 'Coo', $u1 ); 59 $this->assertEquals( array( $u2 ), $friends['friends'] ); 60 } 61 62 public function test_get_bulk_last_active() { 63 $u1 = self::factory()->user->create( array( 64 'last_activity' => gmdate( 'Y-m-d H:i:s' ), 65 ) ); 66 $u2 = self::factory()->user->create( array( 67 'last_activity' => gmdate( 'Y-m-d H:i:s', time() - 1000 ), 68 ) ); 69 $u3 = self::factory()->user->create( array( 70 'last_activity' => gmdate( 'Y-m-d H:i:s', time() - 50 ), 71 ) ); 72 73 $friends = BP_Friends_Friendship::get_bulk_last_active( array( $u1, $u2, $u3, 'junk' ) ); 74 $friend_ids = wp_list_pluck( $friends, 'user_id' ); 75 $this->assertEquals( array( $u1, $u3, $u2 ), $friend_ids ); 76 } 77 78 public function test_search_users() { 79 $u1 = self::factory()->user->create(); 80 $u2 = self::factory()->user->create(); 81 $u3 = self::factory()->user->create(); 82 83 xprofile_set_field_data( 1, $u1, 'Freedom Isn\'t Free' ); 84 xprofile_set_field_data( 1, $u2, 'Cool Dude' ); 85 xprofile_set_field_data( 1, $u3, 'Rock And Roll America Yeah' ); 86 87 // Needs a user_id param though it does nothing 88 $friends = BP_Friends_Friendship::search_users( 'Coo', 1 ); 89 $this->assertEquals( array( $u2 ), $friends ); 90 } 91 92 public function test_search_users_count() { 93 $u1 = self::factory()->user->create(); 94 $u2 = self::factory()->user->create(); 95 $u3 = self::factory()->user->create(); 96 97 xprofile_set_field_data( 1, $u1, 'Freedom Isn\'t Free' ); 98 xprofile_set_field_data( 1, $u2, 'Cool Dude' ); 99 xprofile_set_field_data( 1, $u3, 'Rock And Roll America Yeah' ); 100 101 // Needs a user_id param though it does nothing 102 $friends = BP_Friends_Friendship::search_users_count( 'Coo' ); 103 $this->assertEquals( 1, $friends ); 104 } 105 106 /** 107 * @group check_is_friend 108 */ 109 public function test_check_is_friend_not_friends() { 110 $u1 = self::factory()->user->create(); 111 $u2 = self::factory()->user->create(); 112 $this->assertEquals( 'not_friends', BP_Friends_Friendship::check_is_friend( $u1, $u2 ) ); 113 } 114 115 /** 116 * @group check_is_friend 117 */ 118 public function test_check_is_friend_pending() { 119 $u1 = self::factory()->user->create(); 120 $u2 = self::factory()->user->create(); 121 friends_add_friend( $u1, $u2, false ); 122 $this->assertEquals( 'pending', BP_Friends_Friendship::check_is_friend( $u1, $u2 ) ); 123 } 124 125 /** 126 * @group check_is_friend 127 */ 128 public function test_check_is_friend_awaiting_response() { 129 $u1 = self::factory()->user->create(); 130 $u2 = self::factory()->user->create(); 131 friends_add_friend( $u1, $u2, false ); 132 $this->assertEquals( 'awaiting_response', BP_Friends_Friendship::check_is_friend( $u2, $u1 ) ); 133 } 134 135 /** 136 * @group check_is_friend 137 */ 138 public function test_check_is_friend_is_friend() { 139 $u1 = self::factory()->user->create(); 140 $u2 = self::factory()->user->create(); 141 friends_add_friend( $u1, $u2, true ); 142 $this->assertEquals( 'is_friend', BP_Friends_Friendship::check_is_friend( $u1, $u2 ) ); 143 } 144 145 /** 146 * @group BP6247 147 */ 148 public function test_save_method_should_update_existing_row() { 149 $u1 = self::factory()->user->create(); 150 $u2 = self::factory()->user->create(); 151 152 $friendship = new BP_Friends_Friendship(); 153 $friendship->initiator_user_id = $u1; 154 $friendship->friend_user_id = $u2; 155 $friendship->is_confirmed = 0; 156 $friendship->is_limited = 0; 157 $friendship->date_created = bp_core_current_time(); 158 $friendship->is_confirmed = 1; 159 $friendship->save(); 160 161 $fid = $friendship->id; 162 163 $f = new BP_Friends_Friendship( $fid ); 164 $f->is_confirmed = 1; 165 $f->save(); 166 167 $f2 = new BP_Friends_Friendship( $fid ); 168 $this->assertEquals( 1, $f2->is_confirmed ); 169 } 170 171 /** 172 * @group friendship_caching 173 */ 174 public function test_new_bp_friends_friendship_object_should_hit_friendship_object_cache() { 175 global $wpdb; 176 $now = time(); 177 $u1 = self::factory()->user->create( array( 178 'last_activity' => date( 'Y-m-d H:i:s', $now ), 179 ) ); 180 $u2 = self::factory()->user->create( array( 181 'last_activity' => date( 'Y-m-d H:i:s', $now - 100 ), 182 ) ); 183 184 friends_add_friend( $u1, $u2, true ); 185 $fid = friends_get_friendship_id( $u1, $u2 ); 186 187 $friendship_obj = new BP_Friends_Friendship( $fid, false, false ); 188 $first_query_count = $wpdb->num_queries; 189 // Create it again. 190 $friendship_obj = new BP_Friends_Friendship( $fid, false, false ); 191 192 $this->assertEquals( $first_query_count, $wpdb->num_queries ); 193 } 194 }
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Fri Oct 4 01:00:58 2024 | Cross-referenced by PHPXref 0.7.1 |