diff --git bp-members/bp-members-template.php bp-members/bp-members-template.php
index d037c71..57be187 100644
|
|
function bp_has_members( $args = '' ) { |
275 | 275 | $search_terms = null; |
276 | 276 | |
277 | 277 | // User filtering |
278 | | if ( bp_displayed_user_id() ) |
| 278 | if ( bp_is_user_friends() && ! bp_is_user_friend_requests() ) { |
279 | 279 | $user_id = bp_displayed_user_id(); |
| 280 | } |
280 | 281 | |
281 | 282 | // type: active ( default ) | random | newest | popular | online | alphabetical |
282 | 283 | $defaults = array( |
diff --git tests/testcases/core/classes.php tests/testcases/core/classes.php
index 561fcbb..9d01cf2 100644
|
|
class BP_Tests_Core_Classes extends BP_UnitTestCase { |
83 | 83 | $u1 = $this->create_user(); |
84 | 84 | $u2 = $this->create_user(); |
85 | 85 | |
86 | | $q = new BP_User_Query( array( |
87 | | // 'user_id' parameter is passed to emulate a displayed user page |
88 | | // @see https://buddypress.trac.wordpress.org/browser/tags/1.7/bp-members/bp-members-template.php#L277 |
89 | | 'user_id' => $u1, |
| 86 | $this->go_to( bp_core_get_user_domain( $u1 ) ); |
90 | 87 | |
91 | | // Get all user IDs; we want to return just these IDs |
| 88 | global $members_template; |
| 89 | bp_has_members( array( |
92 | 90 | 'include' => array( $u1, $u2 ), |
93 | 91 | ) ); |
94 | 92 | |
95 | | $users = is_array( $q->results ) ? array_values( $q->results ) : array(); |
| 93 | $users = is_array( $members_template->members ) ? array_values( $members_template->members ) : array(); |
96 | 94 | $user_ids = wp_list_pluck( $users, 'ID' ); |
97 | | $this->assertEquals( $user_ids, array( $u2, $u1 ) ); |
| 95 | sort( $user_ids ); |
| 96 | |
| 97 | $shouldbe = array( $u1, $u2 ); |
| 98 | sort( $shouldbe ); |
| 99 | |
| 100 | $this->assertEquals( $user_ids, $shouldbe ); |
98 | 101 | } |
99 | 102 | |
100 | 103 | public function test_bp_user_query_friendship_requests() { |
… |
… |
class BP_Tests_Core_Classes extends BP_UnitTestCase { |
103 | 106 | |
104 | 107 | friends_add_friend( $u1, $u2 ); |
105 | 108 | |
106 | | // emulate bp_has_members( 'type=alphabetical&include=' . bp_get_friendship_requests() ) |
107 | | $q = new BP_User_Query( array( |
108 | | // 'user_id' parameter is passed to emulate a displayed user page |
109 | | // @see https://buddypress.trac.wordpress.org/browser/tags/1.7/bp-members/bp-members-template.php#L277 |
110 | | 'user_id' => $u2, |
| 109 | $this->go_to( bp_core_get_user_domain( $u2 ) . bp_get_friends_slug() . '/requests' ); |
111 | 110 | |
112 | | // get friendship requests for $u2 |
| 111 | global $members_template; |
| 112 | bp_has_members( array( |
113 | 113 | 'include' => bp_get_friendship_requests( $u2 ), |
114 | 114 | ) ); |
115 | 115 | |
116 | | $requests = is_array( $q->results ) ? array_values( $q->results ) : array(); |
| 116 | $requests = is_array( $members_template->members ) ? array_values( $members_template->members ) : array(); |
117 | 117 | $request_ids = wp_list_pluck( $requests, 'ID' ); |
118 | 118 | $this->assertEquals( $request_ids, array( $u1 ) ); |
119 | 119 | } |