/** * Get calendar selected date range * * @param $timestamp (actual timestamp) * @return array */ public function getCalendarData() { global $wgCityId; $beginTimestamp = $this->getVal('beginTimestamp', time()); $endTimestamp = $this->getVal('endTimestamp', time()); $this->calendarData = $this->editHubModel->getCalendarData($wgCityId, $beginTimestamp, $endTimestamp); }
/** * @group Slow * @slowExecutionTime 0.05753 ms */ public function testGetCalendarDataComplex() { $model = new EditHubModel(); $statuses = $model->getAvailableStatuses(); $selectData = array(array('hub_date' => '2012-12-25', 'module_status' => $statuses['PUBLISHED']), array('hub_date' => '2013-01-05', 'module_status' => $statuses['NOT_PUBLISHED']), array('hub_date' => '2013-01-08', 'module_status' => $statuses['NOT_PUBLISHED'])); $dbMock = $this->getMock('DatabaseMysql', array('makeList', 'select', 'fetchRow')); $dbMock->expects($this->any())->method('makeList')->will($this->returnValue('')); $dbMock->expects($this->at(2))->method('fetchRow')->will($this->returnValue($selectData[0])); $dbMock->expects($this->at(3))->method('fetchRow')->will($this->returnValue($selectData[1])); $dbMock->expects($this->at(4))->method('fetchRow')->will($this->returnValue($selectData[2])); $dbMock->expects($this->at(5))->method('fetchRow')->will($this->returnValue(false)); $dbMock->expects($this->once())->method('select')->will($this->returnValue(array())); $this->mockGlobalFunction('wfGetDB', $dbMock); // create object second time to use mocked F:app() $model = new EditHubModel(); $data = $model->getCalendarData('en', 2, 1351728000, 1364774400); $this->assertArrayHasKey('2012-12-25', $data); $this->assertArrayHasKey('2013-01-05', $data); $this->assertArrayHasKey('2013-01-08', $data); $this->assertEquals($statuses['PUBLISHED'], $data['2012-12-25']); $this->assertEquals($statuses['NOT_PUBLISHED'], $data['2013-01-05']); $this->assertEquals($statuses['NOT_PUBLISHED'], $data['2013-01-08']); }