| | 1199 | |
| | 1200 | /** |
| | 1201 | * @group group_membership_requests |
| | 1202 | * @group group_membership |
| | 1203 | */ |
| | 1204 | public function test_groups_accept_membership_request_no_duplicates() { |
| | 1205 | $u1 = $this->factory->user->create(); |
| | 1206 | $g1 = $this->factory->group->create(); |
| | 1207 | |
| | 1208 | // Create membership request |
| | 1209 | groups_send_membership_request( $u1, $g1 ); |
| | 1210 | |
| | 1211 | /* Hook to the `groups_membership_accepted` action |
| | 1212 | * to see how many times it's fired. |
| | 1213 | */ |
| | 1214 | add_action( 'groups_membership_accepted', array( $this, 'count_groups_membership_accepted_calls' ) ); |
| | 1215 | |
| | 1216 | $this->counter = 0; |
| | 1217 | |
| | 1218 | groups_accept_membership_request( null, $u1, $g1 ); |
| | 1219 | groups_accept_membership_request( null, $u1, $g1 ); |
| | 1220 | groups_accept_membership_request( null, $u1, $g1 ); |
| | 1221 | |
| | 1222 | remove_action( 'groups_membership_accepted', array( $this, 'count_groups_membership_accepted_calls' ) ); |
| | 1223 | |
| | 1224 | $this->assertEquals( 1, $this->counter ); |
| | 1225 | // Clean up. |
| | 1226 | $this->counter = 0; |
| | 1227 | } |
| | 1228 | public function count_groups_membership_accepted_calls() { |
| | 1229 | $this->counter++; |
| | 1230 | } |