- Timestamp:
- 02/13/2015 05:24:33 PM (11 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/tests/phpunit/testcases/messages/class.bp-messages-thread.php
r9302 r9482 93 93 $this->assertSame( $expected, $found ); 94 94 } 95 96 /** 97 * @group get_recipients 98 * @group cache 99 */ 100 public function test_get_recipients_should_cache_its_values() { 101 global $wpdb; 102 103 $u1 = $this->factory->user->create(); 104 $u2 = $this->factory->user->create(); 105 106 $t1 = $this->factory->message->create( array( 107 'sender_id' => $u1, 108 'recipients' => array( $u2 ), 109 'subject' => 'Foo', 110 ) ); 111 112 $thread = new BP_Messages_Thread( $t1 ); 113 $recipients = $thread->get_recipients(); 114 115 $num_queries = $wpdb->num_queries; 116 $recipients_cached = $thread->get_recipients(); 117 118 $this->assertEquals( $recipients, $recipients_cached ); 119 $this->assertEquals( $num_queries, $wpdb->num_queries ); 120 } 121 122 /** 123 * @group get_recipients 124 * @group cache 125 */ 126 public function test_get_recipients_cache_should_be_busted_when_thread_message_is_sent() { 127 global $wpdb; 128 129 $u1 = $this->factory->user->create(); 130 $u2 = $this->factory->user->create(); 131 132 $t1 = $this->factory->message->create( array( 133 'sender_id' => $u1, 134 'recipients' => array( $u2 ), 135 'subject' => 'Foo', 136 ) ); 137 138 $thread = new BP_Messages_Thread( $t1 ); 139 $recipients = $thread->get_recipients(); 140 141 // Verify that the cache is populated. 142 $num_queries = $wpdb->num_queries; 143 $recipients_cached = $thread->get_recipients(); 144 $this->assertEquals( $num_queries, $wpdb->num_queries ); 145 146 messages_new_message( array( 147 'sender_id' => $u2, 148 'thread_id' => $t1, 149 'recipients' => array( $u1 ), 150 'subject' => 'Bar', 151 'content' => 'Baz', 152 ) ); 153 154 // Cache should be empty. 155 $num_queries = $wpdb->num_queries; 156 $recipients_uncached = $thread->get_recipients(); 157 $this->assertEquals( $num_queries + 1, $wpdb->num_queries ); 158 } 159 160 /** 161 * @group get_recipients 162 * @group cache 163 */ 164 public function test_get_recipients_cache_should_be_busted_when_single_thread_is_deleted() { 165 global $wpdb; 166 167 $u1 = $this->factory->user->create(); 168 $u2 = $this->factory->user->create(); 169 170 $t1 = $this->factory->message->create( array( 171 'sender_id' => $u1, 172 'recipients' => array( $u2 ), 173 'subject' => 'Foo', 174 ) ); 175 176 $thread = new BP_Messages_Thread( $t1 ); 177 $recipients = $thread->get_recipients(); 178 179 // Verify that the cache is populated. 180 $num_queries = $wpdb->num_queries; 181 $recipients_cached = $thread->get_recipients(); 182 $this->assertEquals( $num_queries, $wpdb->num_queries ); 183 184 messages_delete_thread( $t1 ); 185 186 // Cache should be empty. 187 $this->assertFalse( wp_cache_get( 'thread_recipients_' . $t1, 'bp_messages' ) ); 188 } 189 190 /** 191 * @group get_recipients 192 * @group cache 193 */ 194 public function test_get_recipients_cache_should_be_busted_when_array_of_threads_is_deleted() { 195 global $wpdb; 196 197 $u1 = $this->factory->user->create(); 198 $u2 = $this->factory->user->create(); 199 200 $t1 = $this->factory->message->create( array( 201 'sender_id' => $u1, 202 'recipients' => array( $u2 ), 203 'subject' => 'Foo', 204 ) ); 205 206 $thread = new BP_Messages_Thread( $t1 ); 207 $recipients = $thread->get_recipients(); 208 209 // Verify that the cache is populated. 210 $num_queries = $wpdb->num_queries; 211 $recipients_cached = $thread->get_recipients(); 212 $this->assertEquals( $num_queries, $wpdb->num_queries ); 213 214 messages_delete_thread( array( $t1 ) ); 215 216 // Cache should be empty. 217 $this->assertFalse( wp_cache_get( 'thread_recipients_' . $t1, 'bp_messages' ) ); 218 } 95 219 }
Note: See TracChangeset
for help on using the changeset viewer.