WordPress.org

Make WordPress Core

Ticket #20305: 20305-ut.diff

File 20305-ut.diff, 10.7 KB (added by ryan, 19 months ago)

Unit tests

  • tests/ms.php

     
    398398                $this->assertEquals( 'example2.com', $blog->domain ); 
    399399                $this->assertEquals( 'my_path/', $blog->path ); 
    400400                $this->assertEquals( '1', $blog->spam ); 
    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 ); 
    402528        } 
    403529 
     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 
    404667        function test_switch_restore_blog() { 
    405668                global $_wp_switched_stack, $wpdb; 
    406669