objects['container'] = $this->getMockBuilder('\\Espo\\Core\\Container')->disableOriginalConstructor()->getMock(); $this->objects['serviceFactory'] = $this->getMockBuilder('\\Espo\\Core\\ServiceFactory')->disableOriginalConstructor()->getMock(); $this->objects['config'] = $this->getMockBuilder('\\Espo\\Core\\Utils\\Config')->disableOriginalConstructor()->getMock(); $this->objects['fileManager'] = $this->getMockBuilder('\\Espo\\Core\\Utils\\File\\Manager')->disableOriginalConstructor()->getMock(); $this->objects['scheduledJob'] = $this->getMockBuilder('\\Espo\\Core\\Utils\\ScheduledJob')->disableOriginalConstructor()->getMock(); $this->objects['entityManager'] = $this->getMockBuilder('\\Espo\\Core\\ORM\\EntityManager')->disableOriginalConstructor()->getMock(); $map = array( array('config', $this->objects['config']), array('fileManager', $this->objects['fileManager']), array('serviceFactory', $this->objects['serviceFactory']), array('entityManager', $this->objects['entityManager']), array('scheduledJob', $this->objects['scheduledJob']), ); $this->objects['container'] ->expects($this->any()) ->method('get') ->will($this->returnValueMap($map)); $this->object = new \Espo\Core\CronManager( $this->objects['container'] ); $this->reflection = new ReflectionHelper($this->object); } protected function tearDown() : void { $this->object = NULL; } function testCheckLastRunTimeFileDoesnotExist() { $this->objects['fileManager'] ->expects($this->once()) ->method('getPhpContents') ->will($this->returnValue(false)); $this->objects['config'] ->expects($this->any()) ->method('get') ->will($this->returnValue(50)); $this->assertTrue( $this->reflection->invokeMethod('checkLastRunTime', array())); } public function testCheckLastRunTime() { $this->objects['fileManager'] ->expects($this->once()) ->method('getPhpContents') ->will($this->returnValue(array( 'time' => time() - 60, ))); $this->objects['config'] ->expects($this->any()) ->method('get') ->will($this->returnValue(50)); $this->assertTrue( $this->reflection->invokeMethod('checkLastRunTime', array())); } public function testCheckLastRunTimeTooFrequency() { $this->objects['fileManager'] ->expects($this->once()) ->method('getPhpContents') ->will($this->returnValue(array( 'time' => time() - 49, ))); $this->objects['config'] ->expects($this->exactly(1)) ->method('get') ->will($this->returnValue(50)); $this->assertFalse($this->reflection->invokeMethod('checkLastRunTime', array())); } }