401 | | $this->assertFalse( $result ); |
| 401 | |
| 402 | global $test_action_counter; |
| 403 | $test_action_counter = 0; |
| 404 | $callback = function( $blog_id ) { |
| 405 | global $test_action_counter; |
| 406 | $test_action_counter++; |
| 407 | }; |
| 408 | |
| 409 | add_action( 'make_ham_blog', $callback, 10, 1 ); |
| 410 | $result = update_blog_details( $blog_id, array( 'spam' => 0 ) ); |
| 411 | $this->assertTrue( $result ); |
| 412 | $blog = get_blog_details( $blog_id ); |
| 413 | $this->assertEquals( '0', $blog->spam ); |
| 414 | $this->assertEquals( 1, $test_action_counter ); |
| 415 | |
| 416 | // Same again |
| 417 | $result = update_blog_details( $blog_id, array( 'spam' => 0 ) ); |
| 418 | $this->assertTrue( $result ); |
| 419 | $blog = get_blog_details( $blog_id ); |
| 420 | $this->assertEquals( '0', $blog->spam ); |
| 421 | $this->assertEquals( 1, $test_action_counter ); |
| 422 | remove_action( 'make_ham_blog', $callback, 10, 1 ); |
| 423 | |
| 424 | add_action( 'make_spam_blog', $callback, 10, 1 ); |
| 425 | $result = update_blog_details( $blog_id, array( 'spam' => 1 ) ); |
| 426 | $this->assertTrue( $result ); |
| 427 | $blog = get_blog_details( $blog_id ); |
| 428 | $this->assertEquals( '1', $blog->spam ); |
| 429 | $this->assertEquals( 2, $test_action_counter ); |
| 430 | |
| 431 | // Same again |
| 432 | $result = update_blog_details( $blog_id, array( 'spam' => 1 ) ); |
| 433 | $this->assertTrue( $result ); |
| 434 | $blog = get_blog_details( $blog_id ); |
| 435 | $this->assertEquals( '1', $blog->spam ); |
| 436 | $this->assertEquals( 2, $test_action_counter ); |
| 437 | remove_action( 'make_spam_blog', $callback, 10, 1 ); |
| 438 | |
| 439 | add_action( 'archive_blog', $callback, 10, 1 ); |
| 440 | $result = update_blog_details( $blog_id, array( 'archived' => 1 ) ); |
| 441 | $this->assertTrue( $result ); |
| 442 | $blog = get_blog_details( $blog_id ); |
| 443 | $this->assertEquals( '1', $blog->archived ); |
| 444 | $this->assertEquals( 3, $test_action_counter ); |
| 445 | |
| 446 | // Same again |
| 447 | $result = update_blog_details( $blog_id, array( 'archived' => 1 ) ); |
| 448 | $this->assertTrue( $result ); |
| 449 | $blog = get_blog_details( $blog_id ); |
| 450 | $this->assertEquals( '1', $blog->archived ); |
| 451 | $this->assertEquals( 3, $test_action_counter ); |
| 452 | remove_action( 'archive_blog', $callback, 10, 1 ); |
| 453 | |
| 454 | add_action( 'unarchive_blog', $callback, 10, 1 ); |
| 455 | $result = update_blog_details( $blog_id, array( 'archived' => 0 ) ); |
| 456 | $this->assertTrue( $result ); |
| 457 | $blog = get_blog_details( $blog_id ); |
| 458 | $this->assertEquals( '0', $blog->archived ); |
| 459 | $this->assertEquals( 4, $test_action_counter ); |
| 460 | |
| 461 | // Same again |
| 462 | $result = update_blog_details( $blog_id, array( 'archived' => 0 ) ); |
| 463 | $this->assertTrue( $result ); |
| 464 | $blog = get_blog_details( $blog_id ); |
| 465 | $this->assertEquals( '0', $blog->archived ); |
| 466 | $this->assertEquals( 4, $test_action_counter ); |
| 467 | remove_action( 'unarchive_blog', $callback, 10, 1 ); |
| 468 | |
| 469 | add_action( 'make_delete_blog', $callback, 10, 1 ); |
| 470 | $result = update_blog_details( $blog_id, array( 'deleted' => 1 ) ); |
| 471 | $this->assertTrue( $result ); |
| 472 | $blog = get_blog_details( $blog_id ); |
| 473 | $this->assertEquals( '1', $blog->deleted ); |
| 474 | $this->assertEquals( 5, $test_action_counter ); |
| 475 | |
| 476 | // Same again |
| 477 | $result = update_blog_details( $blog_id, array( 'deleted' => 1 ) ); |
| 478 | $this->assertTrue( $result ); |
| 479 | $blog = get_blog_details( $blog_id ); |
| 480 | $this->assertEquals( '1', $blog->deleted ); |
| 481 | $this->assertEquals( 5, $test_action_counter ); |
| 482 | remove_action( 'make_delete_blog', $callback, 10, 1 ); |
| 483 | |
| 484 | add_action( 'make_undelete_blog', $callback, 10, 1 ); |
| 485 | $result = update_blog_details( $blog_id, array( 'deleted' => 0 ) ); |
| 486 | $this->assertTrue( $result ); |
| 487 | $blog = get_blog_details( $blog_id ); |
| 488 | $this->assertEquals( '0', $blog->deleted ); |
| 489 | $this->assertEquals( 6, $test_action_counter ); |
| 490 | |
| 491 | // Same again |
| 492 | $result = update_blog_details( $blog_id, array( 'deleted' => 0 ) ); |
| 493 | $this->assertTrue( $result ); |
| 494 | $blog = get_blog_details( $blog_id ); |
| 495 | $this->assertEquals( '0', $blog->deleted ); |
| 496 | $this->assertEquals( 6, $test_action_counter ); |
| 497 | remove_action( 'make_undelete_blog', $callback, 10, 1 ); |
| 498 | |
| 499 | add_action( 'mature_blog', $callback, 10, 1 ); |
| 500 | $result = update_blog_details( $blog_id, array( 'mature' => 1 ) ); |
| 501 | $this->assertTrue( $result ); |
| 502 | $blog = get_blog_details( $blog_id ); |
| 503 | $this->assertEquals( '1', $blog->mature ); |
| 504 | $this->assertEquals( 7, $test_action_counter ); |
| 505 | |
| 506 | // Same again |
| 507 | $result = update_blog_details( $blog_id, array( 'mature' => 1 ) ); |
| 508 | $this->assertTrue( $result ); |
| 509 | $blog = get_blog_details( $blog_id ); |
| 510 | $this->assertEquals( '1', $blog->mature ); |
| 511 | $this->assertEquals( 7, $test_action_counter ); |
| 512 | remove_action( 'mature_blog', $callback, 10, 1 ); |
| 513 | |
| 514 | add_action( 'unmature_blog', $callback, 10, 1 ); |
| 515 | $result = update_blog_details( $blog_id, array( 'mature' => 0 ) ); |
| 516 | $this->assertTrue( $result ); |
| 517 | $blog = get_blog_details( $blog_id ); |
| 518 | $this->assertEquals( '0', $blog->mature ); |
| 519 | $this->assertEquals( 8, $test_action_counter ); |
| 520 | |
| 521 | // Same again |
| 522 | $result = update_blog_details( $blog_id, array( 'mature' => 0 ) ); |
| 523 | $this->assertTrue( $result ); |
| 524 | $blog = get_blog_details( $blog_id ); |
| 525 | $this->assertEquals( '0', $blog->mature ); |
| 526 | $this->assertEquals( 8, $test_action_counter ); |
| 527 | remove_action( 'unmature_blog', $callback, 10, 1 ); |
| 530 | function test_update_blog_status() { |
| 531 | $user_id = $this->factory->user->create( array( 'role' => 'administrator' ) ); |
| 532 | $blog_id = $this->factory->blog->create( array( 'user_id' => $user_id, 'path' => '/test_blogpath', 'title' => 'Test Title' ) ); |
| 533 | $this->assertInternalType( 'int', $blog_id ); |
| 534 | |
| 535 | global $test_action_counter; |
| 536 | $test_action_counter = 0; |
| 537 | $callback = function( $blog_id ) { |
| 538 | global $test_action_counter; |
| 539 | $test_action_counter++; |
| 540 | }; |
| 541 | |
| 542 | add_action( 'make_ham_blog', $callback, 10, 1 ); |
| 543 | $result = update_blog_status( $blog_id, 'spam', 0 ); |
| 544 | $this->assertEquals( 0, $result ); |
| 545 | $blog = get_blog_details( $blog_id ); |
| 546 | $this->assertEquals( '0', $blog->spam ); |
| 547 | $this->assertEquals( 1, $test_action_counter ); |
| 548 | |
| 549 | // Same again |
| 550 | $result = update_blog_status( $blog_id, 'spam', 0 ); |
| 551 | $this->assertEquals( 0, $result ); |
| 552 | $blog = get_blog_details( $blog_id ); |
| 553 | $this->assertEquals( '0', $blog->spam ); |
| 554 | $this->assertEquals( 2, $test_action_counter ); |
| 555 | remove_action( 'make_ham_blog', $callback, 10, 1 ); |
| 556 | |
| 557 | add_action( 'make_spam_blog', $callback, 10, 1 ); |
| 558 | $result = update_blog_status( $blog_id, 'spam', 1 ); |
| 559 | $this->assertEquals( 1, $result ); |
| 560 | $blog = get_blog_details( $blog_id ); |
| 561 | $this->assertEquals( '1', $blog->spam ); |
| 562 | $this->assertEquals( 3, $test_action_counter ); |
| 563 | |
| 564 | // Same again |
| 565 | $result = update_blog_status( $blog_id, 'spam', 1 ); |
| 566 | $this->assertEquals( 1, $result ); |
| 567 | $blog = get_blog_details( $blog_id ); |
| 568 | $this->assertEquals( '1', $blog->spam ); |
| 569 | $this->assertEquals( 4, $test_action_counter ); |
| 570 | remove_action( 'make_spam_blog', $callback, 10, 1 ); |
| 571 | |
| 572 | add_action( 'archive_blog', $callback, 10, 1 ); |
| 573 | $result = update_blog_status( $blog_id, 'archived', 1 ); |
| 574 | $this->assertEquals( 1, $result ); |
| 575 | $blog = get_blog_details( $blog_id ); |
| 576 | $this->assertEquals( '1', $blog->archived ); |
| 577 | $this->assertEquals( 5, $test_action_counter ); |
| 578 | |
| 579 | // Same again |
| 580 | $result = update_blog_status( $blog_id, 'archived', 1 ); |
| 581 | $this->assertEquals( 1, $result ); |
| 582 | $blog = get_blog_details( $blog_id ); |
| 583 | $this->assertEquals( '1', $blog->archived ); |
| 584 | $this->assertEquals( 6, $test_action_counter ); |
| 585 | remove_action( 'archive_blog', $callback, 10, 1 ); |
| 586 | |
| 587 | add_action( 'unarchive_blog', $callback, 10, 1 ); |
| 588 | $result = update_blog_status( $blog_id, 'archived', 0 ); |
| 589 | $this->assertEquals( 0, $result ); |
| 590 | $blog = get_blog_details( $blog_id ); |
| 591 | $this->assertEquals( '0', $blog->archived ); |
| 592 | $this->assertEquals( 7, $test_action_counter ); |
| 593 | |
| 594 | // Same again |
| 595 | $result = update_blog_status( $blog_id, 'archived', 0 ); |
| 596 | $this->assertEquals( 0, $result ); |
| 597 | $blog = get_blog_details( $blog_id ); |
| 598 | $this->assertEquals( '0', $blog->archived ); |
| 599 | $this->assertEquals( 8, $test_action_counter ); |
| 600 | remove_action( 'unarchive_blog', $callback, 10, 1 ); |
| 601 | |
| 602 | add_action( 'make_delete_blog', $callback, 10, 1 ); |
| 603 | $result = update_blog_status( $blog_id, 'deleted', 1 ); |
| 604 | $this->assertEquals( 1, $result ); |
| 605 | $blog = get_blog_details( $blog_id ); |
| 606 | $this->assertEquals( '1', $blog->deleted ); |
| 607 | $this->assertEquals( 9, $test_action_counter ); |
| 608 | |
| 609 | // Same again |
| 610 | $result = update_blog_status( $blog_id, 'deleted', 1 ); |
| 611 | $this->assertEquals( 1, $result ); |
| 612 | $blog = get_blog_details( $blog_id ); |
| 613 | $this->assertEquals( '1', $blog->deleted ); |
| 614 | $this->assertEquals( 10, $test_action_counter ); |
| 615 | remove_action( 'make_delete_blog', $callback, 10, 1 ); |
| 616 | |
| 617 | add_action( 'make_undelete_blog', $callback, 10, 1 ); |
| 618 | $result = update_blog_status( $blog_id, 'deleted', 0 ); |
| 619 | $this->assertEquals( 0, $result ); |
| 620 | $blog = get_blog_details( $blog_id ); |
| 621 | $this->assertEquals( '0', $blog->deleted ); |
| 622 | $this->assertEquals( 11, $test_action_counter ); |
| 623 | |
| 624 | // Same again |
| 625 | $result = update_blog_status( $blog_id, 'deleted', 0 ); |
| 626 | $this->assertEquals( 0, $result ); |
| 627 | $blog = get_blog_details( $blog_id ); |
| 628 | $this->assertEquals( '0', $blog->deleted ); |
| 629 | $this->assertEquals( 12, $test_action_counter ); |
| 630 | remove_action( 'make_undelete_blog', $callback, 10, 1 ); |
| 631 | |
| 632 | add_action( 'mature_blog', $callback, 10, 1 ); |
| 633 | $result = update_blog_status( $blog_id, 'mature', 1 ); |
| 634 | $this->assertEquals( 1, $result ); |
| 635 | $blog = get_blog_details( $blog_id ); |
| 636 | $this->assertEquals( '1', $blog->mature ); |
| 637 | $this->assertEquals( 13, $test_action_counter ); |
| 638 | |
| 639 | // Same again |
| 640 | $result = update_blog_status( $blog_id, 'mature', 1 ); |
| 641 | $this->assertEquals( 1, $result ); |
| 642 | $blog = get_blog_details( $blog_id ); |
| 643 | $this->assertEquals( '1', $blog->mature ); |
| 644 | $this->assertEquals( 14, $test_action_counter ); |
| 645 | remove_action( 'mature_blog', $callback, 10, 1 ); |
| 646 | |
| 647 | add_action( 'unmature_blog', $callback, 10, 1 ); |
| 648 | $result = update_blog_status( $blog_id, 'mature', 0 ); |
| 649 | $this->assertEquals( 0, $result ); |
| 650 | $blog = get_blog_details( $blog_id ); |
| 651 | $this->assertEquals( '0', $blog->mature ); |
| 652 | $this->assertEquals( 15, $test_action_counter ); |
| 653 | |
| 654 | // Same again |
| 655 | $result = update_blog_status( $blog_id, 'mature', 0 ); |
| 656 | $this->assertEquals( 0, $result ); |
| 657 | $blog = get_blog_details( $blog_id ); |
| 658 | $this->assertEquals( '0', $blog->mature ); |
| 659 | $this->assertEquals( 16, $test_action_counter ); |
| 660 | remove_action( 'unmature_blog', $callback, 10, 1 ); |
| 661 | |
| 662 | // Updating a dummy field returns the value passed. Go fig. |
| 663 | $result = update_blog_status( $blog_id, 'doesnotexist', 1 ); |
| 664 | $this->assertEquals( 1, $result ); |
| 665 | } |
| 666 | |