| 213 | | } |
| 214 | | No newline at end of file |
| | 213 | |
| | 214 | /** |
| | 215 | * @group activate |
| | 216 | */ |
| | 217 | public function test_activate_user_accounts() { |
| | 218 | $signups = array(); |
| | 219 | |
| | 220 | $signups['accountone'] = $this->factory->signup->create( array( |
| | 221 | 'user_login' => 'accountone', |
| | 222 | 'user_email' => 'accountone@example.com', |
| | 223 | 'activation_key' => 'activationkeyone', |
| | 224 | ) ); |
| | 225 | |
| | 226 | $signups['accounttwo'] = $this->factory->signup->create( array( |
| | 227 | 'user_login' => 'accounttwo', |
| | 228 | 'user_email' => 'accounttwo@example.com', |
| | 229 | 'activation_key' => 'activationkeytwo', |
| | 230 | ) ); |
| | 231 | |
| | 232 | $signups['accountthree'] = $this->factory->signup->create( array( |
| | 233 | 'user_login' => 'accountthree', |
| | 234 | 'user_email' => 'accountthree@example.com', |
| | 235 | 'activation_key' => 'activationkeythree', |
| | 236 | ) ); |
| | 237 | |
| | 238 | $results = BP_Signup::activate( $signups ); |
| | 239 | $this->assertNotEmpty( $results['activated'] ); |
| | 240 | |
| | 241 | $users = array(); |
| | 242 | |
| | 243 | foreach ( $signups as $login => $signup_id ) { |
| | 244 | $users[ $login ] = get_user_by( 'login', $login ); |
| | 245 | } |
| | 246 | |
| | 247 | $this->assertEqualSets( $results['activated'], wp_list_pluck( $users, 'ID' ) ); |
| | 248 | } |
| | 249 | |
| | 250 | /** |
| | 251 | * @group activate |
| | 252 | */ |
| | 253 | public function test_activate_user_accounts_with_blogs() { |
| | 254 | global $wpdb, $current_site; |
| | 255 | |
| | 256 | if ( ! is_multisite() ) { |
| | 257 | return; |
| | 258 | } |
| | 259 | |
| | 260 | $signups = array(); |
| | 261 | |
| | 262 | $signups['blogone'] = $this->factory->signup->create( array( |
| | 263 | 'user_login' => 'blogone', |
| | 264 | 'user_email' => 'blogone@example.com', |
| | 265 | 'domain' => $current_site->domain, |
| | 266 | 'path' => '/blogone/', |
| | 267 | 'title' => 'Blog One', |
| | 268 | 'activation_key' => 'activationkeyblogone', |
| | 269 | ) ); |
| | 270 | |
| | 271 | $signups['blogtwo'] = $this->factory->signup->create( array( |
| | 272 | 'user_login' => 'blogtwo', |
| | 273 | 'user_email' => 'blogtwo@example.com', |
| | 274 | 'domain' => '', |
| | 275 | 'path' => '', |
| | 276 | 'title' => '', |
| | 277 | 'activation_key' => 'activationkeyblogtwo', |
| | 278 | ) ); |
| | 279 | |
| | 280 | $signups['blogthree'] = $this->factory->signup->create( array( |
| | 281 | 'user_login' => 'blogthree', |
| | 282 | 'user_email' => 'blogthree@example.com', |
| | 283 | 'domain' => $current_site->domain, |
| | 284 | 'path' => '/blogthree/', |
| | 285 | 'title' => 'Blog Three', |
| | 286 | 'activation_key' => 'activationkeyblogthree', |
| | 287 | ) ); |
| | 288 | |
| | 289 | // Neutralize db errors |
| | 290 | $suppress = $wpdb->suppress_errors(); |
| | 291 | |
| | 292 | $results = BP_Signup::activate( $signups ); |
| | 293 | |
| | 294 | $wpdb->suppress_errors( $suppress ); |
| | 295 | |
| | 296 | $this->assertNotEmpty( $results['activated'] ); |
| | 297 | |
| | 298 | $users = array(); |
| | 299 | |
| | 300 | foreach ( $signups as $login => $signup_id ) { |
| | 301 | $users[ $login ] = get_user_by( 'login', $login ); |
| | 302 | } |
| | 303 | |
| | 304 | $this->assertEqualSets( $results['activated'], wp_list_pluck( $users, 'ID' ) ); |
| | 305 | |
| | 306 | $blogs = array(); |
| | 307 | |
| | 308 | foreach ( $users as $path => $user ) { |
| | 309 | $blogs[ $path ] = get_active_blog_for_user( $user->ID ); |
| | 310 | } |
| | 311 | |
| | 312 | $blogs = array_filter( $blogs ); |
| | 313 | $blogs = array_map( 'basename', wp_list_pluck( $blogs, 'path' ) ); |
| | 314 | |
| | 315 | $this->assertEqualSets( $blogs, array_keys( $blogs ) ); |
| | 316 | } |
| | 317 | } |