WordPress.org

Make WordPress Core

Changeset 1057 in tests


Ignore:
Timestamp:
09/27/12 21:53:44 (19 months ago)
Author:
ryan
Message:

Comment meta query and comment post tests.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/tests/comment/query.php

    r1056 r1057  
    3434        $this->assertEquals( $comment_id, $result->comment_ID ); 
    3535    } 
     36 
     37    function test_get_comments_for_post() { 
     38        $post_id = $this->factory->post->create(); 
     39        $this->factory->comment->create_post_comments( $post_id, 10 ); 
     40        $comments = get_comments( array( 'post_id' => $post_id ) ); 
     41        $this->assertEquals( 10, count( $comments ) ); 
     42        foreach ( $comments as $comment ) { 
     43            $this->assertEquals( $post_id, $comment->comment_post_ID ); 
     44        } 
     45 
     46        $post_id2 = $this->factory->post->create(); 
     47        $this->factory->comment->create_post_comments( $post_id2, 10 ); 
     48        $comments = get_comments( array( 'post_id' => $post_id2 ) ); 
     49        $this->assertEquals( 10, count( $comments ) ); 
     50        foreach ( $comments as $comment ) { 
     51            $this->assertEquals( $post_id2, $comment->comment_post_ID ); 
     52        } 
     53 
     54        $post_id3 = $this->factory->post->create(); 
     55        $this->factory->comment->create_post_comments( $post_id3, 10, array( 'comment_approved' => '0' ) ); 
     56        $comments = get_comments( array( 'post_id' => $post_id3 ) ); 
     57        $this->assertEquals( 10, count( $comments ) ); 
     58        foreach ( $comments as $comment ) { 
     59            $this->assertEquals( $post_id3, $comment->comment_post_ID ); 
     60        } 
     61 
     62        $comments = get_comments( array( 'post_id' => $post_id3, 'status' => 'hold' ) ); 
     63        $this->assertEquals( 10, count( $comments ) ); 
     64        foreach ( $comments as $comment ) { 
     65            $this->assertEquals( $post_id3, $comment->comment_post_ID ); 
     66        } 
     67 
     68        $comments = get_comments( array( 'post_id' => $post_id3, 'status' => 'approve' ) ); 
     69        $this->assertEquals( 0, count( $comments ) ); 
     70 
     71        $this->factory->comment->create_post_comments( $post_id3, 10, array( 'comment_approved' => '1' ) ); 
     72        $comments = get_comments( array( 'post_id' => $post_id3 ) ); 
     73        // $this->assertEquals( 20, count( $comments ) ); @todo Fix cache bug in WP_Comment_Query::query() 
     74        foreach ( $comments as $comment ) { 
     75            $this->assertEquals( $post_id3, $comment->comment_post_ID ); 
     76        } 
     77    } 
     78 
     79    /** 
     80     * @ticket 21003 
     81     */ 
     82    function test_orderby_meta() { 
     83        $comment_id = $this->factory->comment->create(); 
     84        $comment_id2 = $this->factory->comment->create(); 
     85        $comment_id3 = $this->factory->comment->create(); 
     86 
     87        add_comment_meta( $comment_id, 'key', 'value1', true ); 
     88        add_comment_meta( $comment_id, 'key1', 'value1', true ); 
     89        add_comment_meta( $comment_id, 'key3', 'value3', true ); 
     90        add_comment_meta( $comment_id2, 'key', 'value2', true ); 
     91        add_comment_meta( $comment_id2, 'key2', 'value2', true ); 
     92        add_comment_meta( $comment_id3, 'key3', 'value3', true ); 
     93 
     94        $comments = get_comments( array( 'meta_key' => 'key', 'orderby' => array( 'meta_value' ) ) ); 
     95        $this->assertEquals( 2, count( $comments ) ); 
     96        $this->assertEquals( $comment_id2, $comments[0]->comment_ID ); 
     97        $this->assertEquals( $comment_id, $comments[1]->comment_ID ); 
     98 
     99        $comments = get_comments( array( 'meta_key' => 'key', 'orderby' => array( 'meta_value' ), 'order' => 'ASC' ) ); 
     100        $this->assertEquals( 2, count( $comments ) ); 
     101        $this->assertEquals( $comment_id, $comments[0]->comment_ID ); 
     102        $this->assertEquals( $comment_id2, $comments[1]->comment_ID ); 
     103 
     104        $comments = get_comments( array( 'meta_value' => 'value3', 'orderby' => array( 'meta_value' ) ) ); 
     105        $this->assertEquals( 2, count( $comments ) ); 
     106        $this->assertEquals( $comment_id, $comments[0]->comment_ID ); 
     107        $this->assertEquals( $comment_id3, $comments[1]->comment_ID ); 
     108 
     109        // value1 is present on two different keys for $comment_id yet we should get only one instance 
     110        // of that comment in the results 
     111        $comments = get_comments( array( 'meta_value' => 'value1', 'orderby' => array( 'meta_value' ) ) ); 
     112        $this->assertEquals( 1, count( $comments ) ); 
     113        } 
    36114} 
Note: See TracChangeset for help on using the changeset viewer.