Added SQL and iterators tests.

This commit is contained in:
Andrey Savchenko committed 2018-02-21 16:12:34 +02:00
1 parent 420305143b
commit 61dd387484
4 files changed
+146

No files matched your search

+43
View File
@@ -0,0 +1,43 @@
<?php
namespace Rarst\Laps\Tests\Record;
use Rarst\Laps\Record\Sql_Record;
use Rarst\Laps\Record\Sql_Record_Collector;
use Rarst\Laps\Tests\LapsTestCase;
class SqlTest extends LapsTestCase {
public function testCollector() {
define( 'SAVEQUERIES', true );
$collector = new Sql_Record_Collector();
$this->assertTrue( has_filter( 'query', [ $collector, 'query' ] ) );
$query = 'SELECT * FROM wp_posts';
$collector->query( $query );
global $wpdb;
$wpdb = new \stdClass();
$duration = 100;
$wpdb->queries[] = [ $query, $duration ];
$records = $collector->get_records();
$this->assertInternalType( 'array', $records );
$this->assertCount( 1, $records );
$record = $records[0];
$this->assertInstanceOf( Sql_Record::class, $record );
$this->assertEquals( $query, $record->get_name() );
$this->assertContains( $query, $record->get_description() );
$this->assertInternalType( 'float', $record->get_origin() );
$this->assertEquals( $duration * 1000, $record->get_duration() );
$this->assertEquals( 'query-read', $record->get_category() );
}
}