Pheasant\Tests\FilterChainTest::testFilteringResults PHP Method

testFilteringResults() public method

    public function testFilteringResults()
    {
        $connection = \Mockery::mock('\\Pheasant\\Database\\Mysqli\\Connection');
        $result = \Mockery::mock('\\Pheasant\\Database\\Mysqli\\ResultSet');
        $filter = new FilterChain();
        $results = array();
        $filter->onResult(function ($sql, $result, $time) use(&$results) {
            $results[] = func_get_args();
        });
        $connection->shouldReceive('execute')->with('SELECT 1')->andReturn($result)->once();
        $filter->execute('SELECT 1', function ($sql) use($connection) {
            return $connection->execute($sql);
        });
        $this->assertEquals(count($results), 1);
        $this->assertEquals('SELECT 1', $results[0][0]);
        $this->assertSame($result, $results[0][1]);
        $this->assertFalse(is_null($results[0][2]));
    }