public function pastEventsCount($data) { $erb = new EventRepositoryBuilder(); $erb->setBeforeNow(); $erb->setIncludeCancelled(true); $erb->setIncludeDeleted(false); if ($data instanceof \models\AreaModel) { $erb->setArea($data); } else { if ($data instanceof \models\GroupModel) { $erb->setGroup($data); } else { if ($data instanceof \models\TagModel) { $erb->setTag($data); } } } return $erb->fetchCount(); }
function testAddOnCreate() { TimeSource::mock(2013, 7, 1, 7, 0, 0); $user = new UserAccountModel(); $user->setEmail("*****@*****.**"); $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()); $tag = new TagModel(); $tag->setTitle("test"); $tagRepo = new TagRepository(); $tagRepo->create($tag, $site, $user); $event = new EventModel(); $event->setSummary("test"); $event->setDescription("test test"); $event->setStartAt(getUTCDateTime(2013, 8, 1, 19, 0, 0)); $event->setEndAt(getUTCDateTime(2013, 8, 1, 21, 0, 0)); $eventRepository = new EventRepository(); $eventRepository->create($event, $site, $user, null, null, null, array($tag)); ## test $tagRepoBuilder = new TagRepositoryBuilder(); $tagRepoBuilder->setSite($site); $tagRepoBuilder->setTagsForEvent($event); $this->assertEquals(1, count($tagRepoBuilder->fetchAll())); $tagRepoBuilder = new TagRepositoryBuilder(); $tagRepoBuilder->setSite($site); $tagRepoBuilder->setTagsNotForEvent($event); $this->assertEquals(0, count($tagRepoBuilder->fetchAll())); $eventRepoBuilder = new EventRepositoryBuilder(); $eventRepoBuilder->setSite($site); $eventRepoBuilder->setTag($tag); $this->assertEquals(1, count($eventRepoBuilder->fetchAll())); }