- $mock->expects( $this->exactly( $insertCalls ) )
- ->method( 'insert' )
- ->willReturnCallback( function ( ...$args ) {
- return call_user_func_array( [ $this->db, 'insert' ], $args );
- } );
- $mock->expects( $this->exactly( $selectCalls ) )
- ->method( 'select' )
- ->willReturnCallback( function ( ...$args ) {
- return call_user_func_array( [ $this->db, 'select' ], $args );
- } );
- $mock->expects( $this->exactly( $insertCalls ) )
- ->method( 'affectedRows' )
- ->willReturnCallback( function ( ...$args ) {
- return call_user_func_array( [ $this->db, 'affectedRows' ], $args );
- } );
- $mock->expects( $this->any() )
- ->method( 'insertId' )
- ->willReturnCallback( function ( ...$args ) {
- return call_user_func_array( [ $this->db, 'insertId' ], $args );
- } );
- $mock->expects( $this->any() )
- ->method( 'query' )
- ->willReturn( [] );
- $mock->expects( $this->any() )
- ->method( 'isOpen' )
- ->willReturn( true );
- $wrapper = TestingAccessWrapper::newFromObject( $mock );
- $wrapper->queryLogger = new NullLogger();
+ foreach ( $proxiedMethods as $method => $count ) {
+ $mock->expects( is_int( $count ) ? $this->exactly( $count ) : $this->any() )
+ ->method( $method )
+ ->willReturnCallback( function ( ...$args ) use ( $method ) {
+ return call_user_func_array( [ $this->db, $method ], $args );
+ } );
+ }