getMockBuilder(DatabaseInterface::class) ->disableOriginalConstructor() ->getMock(); $GLOBALS['dbi'] = $dbi; $_REQUEST['fk_checks'] = $checksValue; $dbi->expects($this->once()) ->method('getVariable') ->will($this->returnValue('ON')); $dbi->expects($this->once()) ->method('setVariable') ->with('FOREIGN_KEY_CHECKS', $setVariableParam) ->will($this->returnValue(true)); self::assertTrue(ForeignKey::handleDisableCheckInit()); } /** * @dataProvider providerCheckInit */ public function testHandleDisableCheckInitVarFalse(string $checksValue, string $setVariableParam): void { $dbi = $this->getMockBuilder(DatabaseInterface::class) ->disableOriginalConstructor() ->getMock(); $GLOBALS['dbi'] = $dbi; $_REQUEST['fk_checks'] = $checksValue; $dbi->expects($this->once()) ->method('getVariable') ->will($this->returnValue('OFF')); $dbi->expects($this->once()) ->method('setVariable') ->with('FOREIGN_KEY_CHECKS', $setVariableParam) ->will($this->returnValue(true)); self::assertFalse(ForeignKey::handleDisableCheckInit()); } /** * @return array[] */ public static function providerCheckCleanup(): array { return [ [true, 'ON'], [false, 'OFF'], ]; } /** * @dataProvider providerCheckCleanup */ public function testHandleDisableCheckCleanup(bool $checkValue, string $setVariableParam): void { $dbi = $this->getMockBuilder(DatabaseInterface::class) ->disableOriginalConstructor() ->getMock(); $GLOBALS['dbi'] = $dbi; $dbi->expects($this->once()) ->method('setVariable') ->with('FOREIGN_KEY_CHECKS', $setVariableParam) ->will($this->returnValue(true)); ForeignKey::handleDisableCheckCleanup($checkValue); } }