- Timestamp:
- 08/31/2021 09:46:50 PM (3 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/testcases/members/class-bp-signup.php
r12635 r13098 357 357 $this->assertEquals( array( $s3, $s2, $s1 ), $ss['signups'] ); 358 358 } 359 360 /** 361 * @group cache 362 */ 363 public function test_get_queries_should_be_cached() { 364 global $wpdb; 365 366 $s = self::factory()->signup->create(); 367 368 $found1 = BP_Signup::get( 369 array( 370 'fields' => 'ids', 371 ) 372 ); 373 374 $num_queries = $wpdb->num_queries; 375 376 $found2 = BP_Signup::get( 377 array( 378 'fields' => 'ids', 379 ) 380 ); 381 382 $this->assertEqualSets( $found1, $found2 ); 383 $this->assertSame( $num_queries, $wpdb->num_queries ); 384 } 385 386 /** 387 * @group cache 388 */ 389 public function test_get_query_caches_should_be_busted_by_add() { 390 $s1 = self::factory()->signup->create(); 391 392 $found1 = BP_Signup::get( 393 array( 394 'fields' => 'ids', 395 ) 396 ); 397 $this->assertEqualSets( array( $s1 ), $found1['signups'] ); 398 399 $s2 = self::factory()->signup->create(); 400 $found2 = BP_Signup::get( 401 array( 402 'fields' => 'ids', 403 ) 404 ); 405 $this->assertEqualSets( array( $s2 ), $found2['signups'] ); 406 } 407 408 /** 409 * @group cache 410 */ 411 public function test_get_query_caches_should_be_busted_by_meta_update() { 412 $time = bp_core_current_time(); 413 414 $args = array( 415 'domain' => 'foo', 416 'path' => 'bar', 417 'title' => 'Foo bar', 418 'user_login' => 'user1', 419 'user_email' => 'user1@example.com', 420 'registered' => $time, 421 'activation_key' => '12345', 422 'meta' => array( 423 'field_1' => 'Fozzie', 424 'meta1' => 'meta2', 425 ), 426 ); 427 $s1 = BP_Signup::add( $args ); 428 429 $args['meta']['field_1'] = 'Fozz'; 430 $s2 = BP_Signup::add( $args ); 431 432 // Should find both. 433 $found1 = BP_Signup::get( array( 434 'fields' => 'ids', 435 'number' => -1, 436 'usersearch' => 'Fozz', 437 ) ); 438 $this->assertEqualSets( array( $s1, $s2 ), $found1['signups'] ); 439 440 BP_Signup::update( array( 441 'signup_id' => $s1, 442 'meta' => array( 443 'field_1' => 'Fonzie' 444 ), 445 ) ); 446 447 $found2 = BP_Signup::get( array( 448 'fields' => 'ids', 449 'number' => -1, 450 'usersearch' => 'Fozz', 451 ) ); 452 453 $this->assertEqualSets( array( $s2 ), $found2['signups'] ); 454 } 455 456 /** 457 * @group cache 458 */ 459 public function test_get_query_caches_should_be_busted_by_delete() { 460 global $wpdb; 461 $time = bp_core_current_time(); 462 463 $args = array( 464 'domain' => 'foo', 465 'path' => 'bar', 466 'title' => 'Foo bar', 467 'user_login' => 'user1', 468 'user_email' => 'user1@example.com', 469 'registered' => $time, 470 'activation_key' => '12345', 471 'meta' => array( 472 'field_1' => 'Fozzie', 473 'meta1' => 'meta2', 474 ), 475 ); 476 $s1 = BP_Signup::add( $args ); 477 478 $args['meta']['field_1'] = 'Fozz'; 479 $s2 = BP_Signup::add( $args ); 480 481 // Should find both. 482 $found1 = BP_Signup::get( array( 483 'fields' => 'ids', 484 'number' => -1, 485 'usersearch' => 'Fozz', 486 ) ); 487 $this->assertEqualSets( array( $s1, $s2 ), $found1['signups'] ); 488 489 BP_Signup::delete( array( $s1 ) ); 490 491 $found2 = BP_Signup::get( array( 492 'fields' => 'ids', 493 'number' => -1, 494 'usersearch' => 'Fozz', 495 ) ); 496 497 $this->assertEqualSets( array( $s2 ), $found2['signups'] ); 498 } 499 500 /** 501 * @group cache 502 */ 503 public function test_get_query_caches_should_be_busted_by_activation() { 504 $s1 = self::factory()->signup->create( array( 505 'user_login' => 'accountone', 506 'user_email' => 'accountone@example.com', 507 'activation_key' => 'activationkeyone', 508 ) ); 509 510 $s2 = self::factory()->signup->create( array( 511 'user_login' => 'accounttwo', 512 'user_email' => 'accounttwo@example.com', 513 'activation_key' => 'activationkeytwo', 514 ) ); 515 $found1 = BP_Signup::get( 516 array( 517 'number' => -1, 518 'fields' => 'ids', 519 ) 520 ); 521 $this->assertEqualSets( array( $s1, $s2 ), $found1['signups'] ); 522 523 $activate = BP_Signup::activate( (array) $s2 ); 524 525 $found2 = BP_Signup::get( 526 array( 527 'number' => -1, 528 'fields' => 'ids', 529 ) 530 ); 531 $this->assertEqualSets( array( $s1 ), $found2['signups'] ); 532 } 533 534 /** 535 * @group cache 536 */ 537 public function signup_objects_should_be_cached() { 538 global $wpdb; 539 540 $s1 = self::factory()->signup->create( array( 541 'user_login' => 'accountone', 542 'user_email' => 'accountone@example.com', 543 'activation_key' => 'activationkeyone', 544 ) ); 545 546 $found1 = new BP_Signup( $s1 ); 547 548 $num_queries = $wpdb->num_queries; 549 550 // Object should be rebuilt from cache. 551 $found2 = new BP_Signup( $s1 ); 552 553 // @TODO: This fails because "get_avatar()" in populate() results in db queries. 554 $this->assertEquals( $found1, $found2 ); 555 $this->assertEquals( $num_queries, $wpdb->num_queries ); 556 } 557 558 /** 559 * @group cache 560 */ 561 public function test_signup_object_caches_should_be_busted_by_activation() { 562 $s1 = self::factory()->signup->create( array( 563 'user_login' => 'accountone', 564 'user_email' => 'accountone@example.com', 565 'activation_key' => 'activationkeyone', 566 ) ); 567 568 $found1 = new BP_Signup( $s1 ); 569 $this->assertEquals( $s1, $found1->id ); 570 $this->assertFalse( $found1->active ); 571 572 $activate = BP_Signup::activate( (array) $s1 ); 573 574 $found2 = new BP_Signup( $s1 ); 575 $this->assertEquals( $s1, $found2->id ); 576 $this->assertTrue( $found2->active ); 577 578 } 359 579 }
Note: See TracChangeset
for help on using the changeset viewer.