本文整理汇总了PHP中TimeSource::mock方法的典型用法代码示例。如果您正苦于以下问题:PHP TimeSource::mock方法的具体用法?PHP TimeSource::mock怎么用?PHP TimeSource::mock使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类TimeSource
的用法示例。
在下文中一共展示了TimeSource::mock方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testIntegration1
function testIntegration1()
{
$this->addCountriesToTestDB();
\TimeSource::mock(2014, 1, 1, 12, 0, 0);
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$countryRepo = new CountryRepository();
$gb = $countryRepo->loadByTwoCharCode('GB');
## Create area
\TimeSource::mock(2014, 1, 1, 13, 0, 0);
$area = new AreaModel();
$area->setTitle("test");
$area->setDescription("test test");
$area->setCountryId($gb->getId());
$areaRepo = new AreaRepository();
$areaRepo->create($area, null, $site, $gb, $user);
## Edit area
\TimeSource::mock(2014, 1, 1, 14, 0, 0);
$area = $areaRepo->loadById($area->getId());
$area->setDescription("testy");
$areaRepo->edit($area, $user);
## Now save changed flags on these .....
$areaHistoryRepo = new AreaHistoryRepository();
$stat = $this->app['db']->prepare("SELECT * FROM area_history");
$stat->execute();
while ($data = $stat->fetch()) {
$areaHistory = new AreaHistoryModel();
$areaHistory->setFromDataBaseRow($data);
$areaHistoryRepo->ensureChangedFlagsAreSet($areaHistory);
}
## Now load and check
$historyRepo = new HistoryRepositoryBuilder();
$historyRepo->setIncludeEventHistory(false);
$historyRepo->setIncludeVenueHistory(false);
$historyRepo->setIncludeGroupHistory(false);
$historyRepo->setIncludeAreaHistory(true);
$histories = $historyRepo->fetchAll();
$this->assertEquals(2, count($histories));
#the edit
$this->assertEquals(FALSE, $histories[0]->getTitleChanged());
$this->assertEquals(true, $histories[0]->getDescriptionChanged());
$this->assertEquals(false, $histories[0]->getCountryIdChanged());
$this->assertEquals(false, $histories[0]->getParentAreaIdChanged());
$this->assertEquals(false, $histories[0]->getIsDeletedChanged());
#the create
$this->assertEquals(true, $histories[1]->getTitleChanged());
$this->assertEquals(true, $histories[1]->getDescriptionChanged());
$this->assertEquals(true, $histories[1]->getCountryIdChanged());
$this->assertEquals(false, $histories[1]->getParentAreaIdChanged());
$this->assertEquals(false, $histories[1]->getIsDeletedChanged());
}
示例2: test2
function test2()
{
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$userAccountResetRepository = new UserAccountResetRepository();
# Test1: recently unused is null
TimeSource::mock(2013, 1, 1, 1, 0, 1);
$x = $userAccountResetRepository->loadRecentlyUnusedSentForUserAccountId($user->getId(), 180);
$this->assertNull($x);
# Test2: Request one
TimeSource::mock(2013, 1, 1, 1, 0, 2);
$userAccountReset = $userAccountResetRepository->create($user);
#Test 3: recently unused has one
TimeSource::mock(2013, 1, 1, 1, 0, 3);
$x = $userAccountResetRepository->loadRecentlyUnusedSentForUserAccountId($user->getId(), 180);
$this->assertTrue($x != null);
# Test4: days pass. recently unused is null again
TimeSource::mock(2013, 1, 5, 1, 0, 5);
$x = $userAccountResetRepository->loadRecentlyUnusedSentForUserAccountId($user->getId(), 180);
$this->assertNull($x);
}
示例3: testWinterTime
function testWinterTime()
{
TimeSource::mock(2014, 5, 1, 7, 0, 0);
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$event = new EventModel();
$event->setSummary("test");
$event->setDescription("test test");
$event->setStartAt($this->mktime(2014, 11, 10, 19, 0, 0, 'Europe/London'));
$event->setEndAt($this->mktime(2014, 11, 10, 21, 0, 0, 'Europe/London'));
$eventRepository = new EventRepository();
$eventRepository->create($event, $site, $user);
$event = $eventRepository->loadBySlug($site, $event->getSlug());
$this->assertEquals("test test", $event->getDescription());
$this->assertEquals("test", $event->getSummary());
$startAtShouldBe = $this->mktime(2014, 11, 10, 19, 0, 0, 'UTC');
$startAtIs = clone $event->getStartAt();
$startAtIs->setTimezone(new \DateTimeZone('UTC'));
$this->assertEquals($startAtShouldBe->format("c"), $startAtIs->format("c"));
}
示例4: test1
function test1()
{
TimeSource::mock(2014, 5, 1, 7, 0, 0);
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$group = new GroupModel();
$group->setTitle("test");
$group->setDescription("test test");
$group->setUrl("http://www.group.com");
$groupRepo = new GroupRepository();
$groupRepo->create($group, $site, $user);
$event = new EventModel();
$event->setSummary("test");
$event->setDescription("test test");
$event->setStartAt(getUTCDateTime(2014, 5, 10, 19, 0, 0));
$event->setEndAt(getUTCDateTime(2014, 5, 10, 21, 0, 0));
$event->setUrl("http://www.info.com");
$event->setTicketUrl("http://www.tickets.com");
$eventDupe = new EventModel();
$eventDupe->setSummary("test");
$eventDupe->setStartAt(getUTCDateTime(2014, 5, 10, 19, 0, 0));
$eventDupe->setEndAt(getUTCDateTime(2014, 5, 10, 21, 0, 0));
$eventRepository = new EventRepository();
$eventRepository->create($event, $site, $user, $group);
$eventRepository->create($eventDupe, $site, $user, $group);
TimeSource::mock(2014, 5, 1, 7, 1, 0);
$eventRepository->markDuplicate($eventDupe, $event);
$userAtEvent = new \models\UserAtEventModel();
$userAtEvent->setEventId($event->getId());
$userAtEvent->setUserAccountId($user->getId());
$userAtEvent->setIsPlanAttending(true);
$userAtEventRepo = new \repositories\UserAtEventRepository();
$userAtEventRepo->create($userAtEvent);
$curatedList = new CuratedListModel();
$curatedList->setTitle("test");
$curatedList->setDescription("test this!");
$clRepo = new CuratedListRepository();
$clRepo->create($curatedList, $site, $user);
$clRepo->addEventtoCuratedList($event, $curatedList, $user);
$tag = new TagModel();
$tag->setTitle("Test");
$tagRepo = new TagRepository();
$tagRepo->create($tag, $site, $user);
$tagRepo->addTagToEvent($tag, $event, $user);
## TEST
$this->assertNotNull($eventRepository->loadBySlug($site, $event->getSlug()));
## PURGE!
$eventRepository->purge($event);
## TEST
$this->assertNull($eventRepository->loadBySlug($site, $event->getSlug()));
}
示例5: test1
function test1()
{
\TimeSource::mock(2014, 1, 1, 0, 0, 0);
$this->addCountriesToTestDB();
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$countryRepo = new CountryRepository();
$gb = $countryRepo->loadByTwoCharCode('GB');
$venue = new VenueModel();
$venue->setTitle("test");
$venue->setDescription("test test");
$venue->setCountryId($gb->getId());
\TimeSource::mock(2014, 1, 1, 1, 0, 0);
$venueRepo = new VenueRepository();
$venueRepo->create($venue, $site, $user);
\TimeSource::mock(2014, 1, 1, 2, 0, 0);
$venueRepo->delete($venue, $user);
$this->checkVenueInTest1($venueRepo->loadById($venue->getId()));
$this->checkVenueInTest1($venueRepo->loadBySlug($site, $venue->getSlug()));
$vrb = new VenueRepositoryBuilder();
$vrb->setIncludeDeleted(true);
$this->assertEquals(1, count($vrb->fetchAll()));
$vrb = new VenueRepositoryBuilder();
$vrb->setIncludeDeleted(false);
$this->assertEquals(0, count($vrb->fetchAll()));
}
示例6: test3
function test3()
{
TimeSource::mock(2013, 3, 1, 9, 0, 0);
$event = new EventModel();
$event->setStartAt($this->mktime(2013, 3, 1, 19, 0, 0));
$event->setEndAt($this->mktime(2013, 3, 1, 21, 0, 0));
$eventSet = new EventRecurSetModel();
$eventSet->setTimeZoneName('Europe/London');
$newEvents = $eventSet->getNewWeeklyEvents($event, 60);
$this->assertTrue(count($newEvents) >= 8);
$this->assertEquals($this->mktime(2013, 3, 8, 19, 0, 0)->format('r'), $newEvents[0]->getStartAt()->format('r'));
$this->assertEquals($this->mktime(2013, 3, 8, 21, 0, 0)->format('r'), $newEvents[0]->getEndAt()->format('r'));
$this->assertEquals($this->mktime(2013, 3, 15, 19, 0, 0)->format('r'), $newEvents[1]->getStartAt()->format('r'));
$this->assertEquals($this->mktime(2013, 3, 15, 21, 0, 0)->format('r'), $newEvents[1]->getEndAt()->format('r'));
$this->assertEquals($this->mktime(2013, 3, 22, 19, 0, 0)->format('r'), $newEvents[2]->getStartAt()->format('r'));
$this->assertEquals($this->mktime(2013, 3, 22, 21, 0, 0)->format('r'), $newEvents[2]->getEndAt()->format('r'));
$this->assertEquals($this->mktime(2013, 3, 29, 19, 0, 0)->format('r'), $newEvents[3]->getStartAt()->format('r'));
$this->assertEquals($this->mktime(2013, 3, 29, 21, 0, 0)->format('r'), $newEvents[3]->getEndAt()->format('r'));
### at his point DST kicks in and since we are getting data times (in UTC) they shifn by an hour.
$this->assertEquals($this->mktime(2013, 4, 5, 18, 0, 0)->format('r'), $newEvents[4]->getStartAt()->format('r'));
$this->assertEquals($this->mktime(2013, 4, 5, 20, 0, 0)->format('r'), $newEvents[4]->getEndAt()->format('r'));
$this->assertEquals($this->mktime(2013, 4, 12, 18, 0, 0)->format('r'), $newEvents[5]->getStartAt()->format('r'));
$this->assertEquals($this->mktime(2013, 4, 12, 20, 0, 0)->format('r'), $newEvents[5]->getEndAt()->format('r'));
$this->assertEquals($this->mktime(2013, 4, 19, 18, 0, 0)->format('r'), $newEvents[6]->getStartAt()->format('r'));
$this->assertEquals($this->mktime(2013, 4, 19, 20, 0, 0)->format('r'), $newEvents[6]->getEndAt()->format('r'));
$this->assertEquals($this->mktime(2013, 4, 26, 18, 0, 0)->format('r'), $newEvents[7]->getStartAt()->format('r'));
$this->assertEquals($this->mktime(2013, 4, 26, 20, 0, 0)->format('r'), $newEvents[7]->getEndAt()->format('r'));
}
开发者ID:radical-assembly,项目名称:OpenACalendar-Web-Core,代码行数:28,代码来源:EventRecurSetModelGetNewWeeklyEventsTest.php
示例7: test1
function test1()
{
\TimeSource::mock(2014, 1, 1, 0, 0, 0);
$user1 = new UserAccountModel();
$user1->setEmail("test@jarofgreen.co.uk");
$user1->setUsername("test");
$user1->setPassword("password");
$user2 = new UserAccountModel();
$user2->setEmail("test2@jarofgreen.co.uk");
$user2->setUsername("test2");
$user2->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user1);
$userRepo->create($user2);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user1, array(), $this->getSiteQuotaUsedForTesting());
$group1 = new GroupModel();
$group1->setTitle("test1");
$group1->setDescription("test test");
$group1->setUrl("http://www.group.com");
$group2 = new GroupModel();
$group2->setTitle("test this looks similar");
$group2->setDescription("test test");
$group2->setUrl("http://www.group.com");
$groupRepo = new GroupRepository();
\TimeSource::mock(2014, 1, 1, 1, 0, 0);
$groupRepo->create($group1, $site, $user1);
$groupRepo->create($group2, $site, $user2);
$event = new EventModel();
$event->setSummary("test");
$event->setStartAt(getUTCDateTime(2014, 5, 10, 19, 0, 0));
$event->setEndAt(getUTCDateTime(2014, 5, 10, 21, 0, 0));
$eventRepository = new EventRepository();
$eventRepository->create($event, $site, $user1, $group2);
$uwgr = new UserWatchesGroupRepository();
// Test before
$erb = new \repositories\builders\EventRepositoryBuilder();
$erb->setGroup($group1);
$this->assertEquals(0, count($erb->fetchAll()));
$this->assertNull($uwgr->loadByUserAndGroup($user2, $group1));
$group2 = $groupRepo->loadById($group2->getId());
$this->assertFalse($group2->getIsDeleted());
$this->assertNull($group2->getIsDuplicateOfId());
// Mark
\TimeSource::mock(2014, 1, 1, 2, 0, 0);
$groupRepo->markDuplicate($group2, $group1, $user1);
// Test Duplicate
$erb = new \repositories\builders\EventRepositoryBuilder();
$erb->setGroup($group1);
$this->assertEquals(1, count($erb->fetchAll()));
$uwg = $uwgr->loadByUserAndGroup($user2, $group1);
$this->assertNotNull($uwg);
$group2 = $groupRepo->loadById($group2->getId());
$this->assertTrue($group2->getIsDeleted());
$this->assertEquals($group1->getId(), $group2->getIsDuplicateOfId());
}
示例8: testInChildArea
function testInChildArea()
{
$this->addCountriesToTestDB();
TimeSource::mock(2013, 7, 1, 7, 0, 0);
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$area1 = new AreaModel();
$area1->setTitle("scotland");
$area1child = new AreaModel();
$area1child->setTitle("edinburgh");
$area2 = new AreaModel();
$area2->setTitle("england");
$areaRepo = new AreaRepository();
$countryRepo = new CountryRepository();
$areaRepo->create($area1, null, $site, $countryRepo->loadByTwoCharCode('GB'), $user);
$areaRepo->buildCacheAreaHasParent($area1);
$areaRepo->create($area1child, $area1, $site, $countryRepo->loadByTwoCharCode('GB'), $user);
$areaRepo->buildCacheAreaHasParent($area1child);
$areaRepo->create($area2, null, $site, $countryRepo->loadByTwoCharCode('GB'), $user);
$areaRepo->buildCacheAreaHasParent($area2);
$event = new EventModel();
$event->setSummary("test");
$event->setDescription("test test");
$event->setStartAt($this->mktime(2013, 8, 1, 19, 0, 0));
$event->setEndAt($this->mktime(2013, 8, 1, 21, 0, 0));
$event->setAreaId($area1child->getId());
$eventRepository = new EventRepository();
$eventRepository->create($event, $site, $user);
#test - find in erb
$erb = new EventRepositoryBuilder();
$erb->setSite($site);
$erb->setArea($area1);
$events = $erb->fetchAll();
$this->assertEquals(1, count($events));
$this->assertEquals($event->getId(), $events[0]->getId());
#test - find in erb
$erb = new EventRepositoryBuilder();
$erb->setSite($site);
$erb->setArea($area1child);
$events = $erb->fetchAll();
$this->assertEquals(1, count($events));
$this->assertEquals($event->getId(), $events[0]->getId());
#test - don't find in erb
$erb = new EventRepositoryBuilder();
$erb->setSite($site);
$erb->setArea($area2);
$events = $erb->fetchAll();
$this->assertEquals(0, count($events));
}
示例9: testIntegration1
function testIntegration1()
{
\TimeSource::mock(2014, 1, 1, 12, 0, 0);
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
## Create group
\TimeSource::mock(2014, 1, 1, 13, 0, 0);
$group = new GroupModel();
$group->setTitle("test");
$group->setDescription("test test");
$group->setUrl("http://www.group.com");
$groupRepo = new GroupRepository();
$groupRepo->create($group, $site, $user);
## Edit group
\TimeSource::mock(2014, 1, 1, 14, 0, 0);
$group = $groupRepo->loadById($group->getId());
$group->setTwitterUsername("testy");
$groupRepo->edit($group, $user);
## Now save changed flags on these .....
$groupHistoryRepo = new GroupHistoryRepository();
$stat = $this->app['db']->prepare("SELECT * FROM group_history");
$stat->execute();
while ($data = $stat->fetch()) {
$groupHistory = new GroupHistoryModel();
$groupHistory->setFromDataBaseRow($data);
$groupHistoryRepo->ensureChangedFlagsAreSet($groupHistory);
}
## Now load and check
$historyRepo = new HistoryRepositoryBuilder();
$historyRepo->setGroup($group);
$historyRepo->setIncludeEventHistory(false);
$historyRepo->setIncludeVenueHistory(false);
$historyRepo->setIncludeGroupHistory(true);
$histories = $historyRepo->fetchAll();
$this->assertEquals(2, count($histories));
#the edit
$this->assertEquals(FALSE, $histories[0]->getTitleChanged());
$this->assertEquals(false, $histories[0]->getDescriptionChanged());
$this->assertEquals(false, $histories[0]->getUrlChanged());
$this->assertEquals(true, $histories[0]->getTwitterUsernameChanged());
$this->assertEquals(false, $histories[0]->getIsDeletedChanged());
#the create
$this->assertEquals(true, $histories[1]->getTitleChanged());
$this->assertEquals(true, $histories[1]->getDescriptionChanged());
$this->assertEquals(true, $histories[1]->getUrlChanged());
$this->assertEquals(false, $histories[1]->getTwitterUsernameChanged());
$this->assertEquals(false, $histories[1]->getIsDeletedChanged());
}
示例10: testBasic
function testBasic()
{
global $CONFIG;
\TimeSource::mock(2013, 10, 1, 1, 1, 1);
$CONFIG->importURLAllowEventsSecondsIntoFuture = 7776000;
// 90 days
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$group = new GroupModel();
$group->setTitle("test");
$group->setDescription("test test");
$group->setUrl("http://www.group.com");
$groupRepo = new GroupRepository();
$groupRepo->create($group, $site, $user);
$importURLRepository = new ImportURLRepository();
$importURL = new ImportURLModel();
$importURL->setIsEnabled(true);
$importURL->setSiteId($site->getId());
$importURL->setGroupId($group->getId());
$importURL->setTitle("Test");
$importURL->setUrl("http://test.com");
$importURLRepository->create($importURL, $site, $user);
// Import
$importURLRun = new ImportURLRun($importURL, $site);
$importURLRun->setTemporaryFileStorageForTesting(dirname(__FILE__) . '/data/Lanyrd1.ical');
$importURLRun->setFlag(ImportURLRun::$FLAG_ADD_UIDS);
$i = new ImportURLICalHandler();
$i->setImportURLRun($importURLRun);
$this->assertTrue($i->canHandle());
$r = $i->handle();
// Load!
$erb = new EventRepositoryBuilder();
$erb->setSite($site);
$events = $erb->fetchAll();
$this->assertEquals(1, count($events));
$event = $events[0];
$this->assertEquals("State of the Map Scotland 2013", $event->getSummary());
$this->assertEquals('2013-10-11 00:00:00', $event->getStartAt()->format('Y-m-d H:i:s'));
$this->assertEquals('2013-10-14 23:59:59', $event->getEndAt()->format('Y-m-d H:i:s'));
$this->assertEquals("http://sotms.eventbrite.com/\n\nhttp://lanyrd.com/crkmt", $event->getDescription());
$this->assertEquals('http://lanyrd.com/2013/sotmscot2013/', $event->getURL());
$this->assertFalse($event->getIsDeleted());
// Look for event
$erb = new EventRepositoryBuilder();
$erb->setSite($site);
$erb->setImportURL($importURL);
$this->assertEquals(1, count($erb->fetchAll()));
}
示例11: testIsDateToLateForArbitraryDate
/**
* @dataProvider dataForTestIsDateToLateForArbitraryDate
*/
function testIsDateToLateForArbitraryDate($year, $month, $day, $days, $result)
{
$timeSource = new \TimeSource();
$timeSource->mock(2015, 03, 01, 10, 0, 0);
$eventSet = new EventRecurSetModel();
$eventSet->setTimeZoneName('Europe/London');
$newDate = new \DateTime();
$newDate->setDate($year, $month, $day);
$this->assertEquals($result, $eventSet->isDateToLateForArbitraryDate($newDate, $timeSource, $days));
}
开发者ID:radical-assembly,项目名称:OpenACalendar-Web-Core,代码行数:13,代码来源:EventRecurSetModelGetNewArbitraryEventTest.php
示例12: testBasic
function testBasic()
{
global $CONFIG;
\TimeSource::mock(2013, 10, 1, 1, 1, 1);
$CONFIG->importURLAllowEventsSecondsIntoFuture = 7776000;
// 90 days
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$group = new GroupModel();
$group->setTitle("test");
$group->setDescription("test test");
$group->setUrl("http://www.group.com");
$groupRepo = new GroupRepository();
$groupRepo->create($group, $site, $user);
$importURLRepository = new ImportURLRepository();
$importURL = new ImportURLModel();
$importURL->setIsEnabled(true);
$importURL->setSiteId($site->getId());
$importURL->setGroupId($group->getId());
$importURL->setTitle("Test");
$importURL->setUrl("http://test.com");
$importURLRepository->create($importURL, $site, $user);
// Import
$importURLRun = new ImportURLRun($importURL, $site);
$importURLRun->setTemporaryFileStorageForTesting(dirname(__FILE__) . '/data/Eventbrite1.ical');
$importURLRun->setFlag(ImportURLRun::$FLAG_ADD_UIDS);
$importURLRun->setFlag(ImportURLRun::$FLAG_SET_TICKET_URL_AS_URL);
$i = new ImportURLICalHandler();
$i->setImportURLRun($importURLRun);
$this->assertTrue($i->canHandle());
$r = $i->handle();
// Load!
$erb = new EventRepositoryBuilder();
$erb->setSite($site);
$events = $erb->fetchAll();
$this->assertEquals(1, count($events));
$event = $events[0];
$this->assertEquals("Computing At School Scotland Conference 2013", $event->getSummary());
$this->assertEquals('2013-10-26 07:30:00', $event->getStartAt()->format('Y-m-d H:i:s'));
$this->assertEquals('2013-10-26 16:00:00', $event->getEndAt()->format('Y-m-d H:i:s'));
$this->assertEquals('For details, click here: https://casscot13.eventbrite.co.uk', $event->getDescription());
$this->assertEquals('https://casscot13.eventbrite.co.uk', $event->getURL());
$this->assertEquals('https://casscot13.eventbrite.co.uk', $event->getTicketURL());
$this->assertFalse($event->getIsDeleted());
}
示例13: test1
function test1()
{
$this->addCountriesToTestDB();
\TimeSource::mock(2014, 10, 1, 1, 1, 0);
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$countryRepo = new CountryRepository();
$gb = $countryRepo->loadByTwoCharCode('GB');
$area = new AreaModel();
$area->setTitle("test");
$area->setDescription("test test");
$areaRepo = new \repositories\AreaRepository();
$areaRepo->create($area, null, $site, $gb, $user);
$venue = new VenueModel();
$venue->setTitle("test");
$venue->setDescription("test test");
$venue->setCountryId($gb->getId());
$venue->setAreaId($area->getId());
$venueRepo = new VenueRepository();
$venueRepo->create($venue, $site, $user);
$venueDuplicate = new VenueModel();
$venueDuplicate->setTitle("test Duplicate");
$venueRepo->create($venueDuplicate, $site, $user);
\TimeSource::mock(2014, 10, 1, 1, 2, 0);
$venueRepo->markDuplicate($venueDuplicate, $venue, $user);
$event = new EventModel();
$event->setSummary("test");
$event->setStartAt(getUTCDateTime(2014, 5, 10, 19, 0, 0, 'Europe/London'));
$event->setEndAt(getUTCDateTime(2014, 5, 10, 21, 0, 0, 'Europe/London'));
$event->setVenueId($venue->getId());
$eventRepository = new EventRepository();
$eventRepository->create($event, $site, $user);
## Test
$this->assertNotNull($venueRepo->loadBySlug($site, $venue->getSlug()));
$event = $eventRepository->loadBySlug($site, $event->getSlug());
$this->assertEquals($venue->getId(), $event->getVenueId());
## Now Purge!
$venueRepo->purge($venue);
## Test
$this->assertNull($venueRepo->loadBySlug($site, $venue->getSlug()));
$event = $eventRepository->loadBySlug($site, $event->getSlug());
$this->assertNull($event->getVenueId());
}
示例14: testBasic
function testBasic()
{
global $CONFIG;
\TimeSource::mock(2013, 10, 1, 1, 1, 1);
$CONFIG->importURLAllowEventsSecondsIntoFuture = 7776000;
// 90 days
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$group = new GroupModel();
$group->setTitle("test");
$group->setDescription("test test");
$group->setUrl("http://www.group.com");
$groupRepo = new GroupRepository();
$groupRepo->create($group, $site, $user);
$importURLRepository = new ImportURLRepository();
$importURL = new ImportURLModel();
$importURL->setIsEnabled(true);
$importURL->setSiteId($site->getId());
$importURL->setGroupId($group->getId());
$importURL->setTitle("Test");
$importURL->setUrl("http://test.com");
$importURLRepository->create($importURL, $site, $user);
// Import
$importURLRun = new ImportURLRun($importURL, $site);
$importURLRun->setTemporaryFileStorageForTesting(dirname(__FILE__) . '/data/Meetup1.ics');
$importURLRun->setFlag(ImportURLRun::$FLAG_ADD_UIDS);
$i = new ImportURLICalHandler();
$i->setImportURLRun($importURLRun);
$this->assertTrue($i->canHandle());
$r = $i->handle();
// Load!
$erb = new EventRepositoryBuilder();
$erb->setSite($site);
$events = $erb->fetchAll();
$this->assertEquals(1, count($events));
$event = $events[0];
$this->assertEquals("Talk & Build AngularJS", $event->getSummary());
$this->assertEquals('2013-10-17 18:00:00', $event->getStartAt()->format('Y-m-d H:i:s'));
$this->assertEquals('2013-10-17 21:00:00', $event->getEndAt()->format('Y-m-d H:i:s'));
$this->assertEquals("AngularJS - Edinburgh\nThursday, October 17 at 7:00 PM\n\nDetails: http://www.meetup.com/AngularJS-Edinburgh/events/141654792/", $event->getDescription());
$this->assertEquals('http://www.meetup.com/AngularJS-Edinburgh/events/141654792/', $event->getURL());
$this->assertFalse($event->getIsDeleted());
}
示例15: test1
function test1()
{
\TimeSource::mock(2014, 1, 1, 0, 0, 0);
$this->addCountriesToTestDB();
$user = new UserAccountModel();
$user->setEmail("test@jarofgreen.co.uk");
$user->setUsername("test");
$user->setPassword("password");
$userRepo = new UserAccountRepository();
$userRepo->create($user);
$site = new SiteModel();
$site->setTitle("Test");
$site->setSlug("test");
$siteRepo = new SiteRepository();
$siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting());
$countryRepo = new CountryRepository();
$gb = $countryRepo->loadByTwoCharCode('GB');
$venue1 = new VenueModel();
$venue1->setTitle("test");
$venue1->setDescription("test test");
$venue1->setCountryId($gb->getId());
$venue2 = new VenueModel();
$venue2->setTitle("test this looks similar");
$venue2->setDescription("test test");
$venue2->setCountryId($gb->getId());
$venueRepo = new VenueRepository();
$venueRepo->create($venue1, $site, $user);
$venueRepo->create($venue2, $site, $user);
$event = new EventModel();
$event->setSummary("test");
$event->setStartAt(getUTCDateTime(2014, 5, 10, 19, 0, 0));
$event->setEndAt(getUTCDateTime(2014, 5, 10, 21, 0, 0));
$event->setVenueId($venue2->getId());
$eventRepository = new EventRepository();
$eventRepository->create($event, $site, $user);
// Test before
$event = $eventRepository->loadBySlug($site, $event->getSlug());
$this->assertEquals($venue2->getId(), $event->getVenueId());
$venue2 = $venueRepo->loadById($venue2->getId());
$this->assertFalse($venue2->getIsDeleted());
$this->assertNull($venue2->getIsDuplicateOfId());
// Mark
\TimeSource::mock(2014, 1, 1, 2, 0, 0);
$venueRepo->markDuplicate($venue2, $venue1, $user);
// Test Duplicate
$event = $eventRepository->loadBySlug($site, $event->getSlug());
$this->assertEquals($venue1->getId(), $event->getVenueId());
$venue2 = $venueRepo->loadById($venue2->getId());
$this->assertTrue($venue2->getIsDeleted());
$this->assertEquals($venue1->getId(), $venue2->getIsDuplicateOfId());
}