function test1() { TimeSource::mock(2014, 5, 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()); $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())); }
function newCuratedList(Request $request, Application $app) { $curatedList = new CuratedListModel(); $form = $app['form.factory']->create(new CuratedListNewForm(), $curatedList); if ('POST' == $request->getMethod()) { $form->bind($request); if ($form->isValid()) { $clRepository = new CuratedListRepository(); $clRepository->create($curatedList, $app['currentSite'], $app['currentUser']); return $app->redirect("/curatedlist/" . $curatedList->getSlug()); } } return $app['twig']->render('site/curatedlistnew/new.html.twig', array('form' => $form->createView())); }
protected function build($slug, Request $request, Application $app) { $this->parameters = array(); if (strpos($slug, "-") > 0) { $slugBits = explode("-", $slug, 2); $slug = $slugBits[0]; } $clr = new CuratedListRepository(); $this->parameters['curatedlist'] = $clr->loadBySlug($app['currentSite'], $slug); if (!$this->parameters['curatedlist']) { return false; } return true; }
function add($slug, $gslug, Request $request, Application $app) { if (!$this->build($slug, $gslug, $request, $app)) { $app->abort(404, "curatedlist does not exist."); } if ($this->parameters['currentUserCanEditCuratedList'] && $request->request->get('CSFRToken') == $app['websession']->getCSFRToken()) { $curatedlistRepository = new CuratedListRepository(); $curatedlistRepository->addGrouptoCuratedList($this->parameters['group'], $this->parameters['curatedlist'], $app['currentUser']); } if ($request->request->get('returnTo', 'group') == 'group') { return $app->redirect("/group/" . $this->parameters['group']->getSlugForURL()); } elseif ($request->request->get('returnTo', 'group') == 'curatedlist') { return $app->redirect("/curatedlist/" . $this->parameters['curatedlist']->getSlug()); } }
function test1() { $user = new UserAccountModel(); $user->setEmail("*****@*****.**"); $user->setUsername("test"); $user->setPassword("password"); $userOther = new UserAccountModel(); $userOther->setEmail("*****@*****.**"); $userOther->setUsername("test2"); $userOther->setPassword("password"); $userRepo = new UserAccountRepository(); $userRepo->create($user); $userRepo->create($userOther); $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, 'Europe/London')); $event->setEndAt(getUTCDateTime(2014, 5, 10, 21, 0, 0, 'Europe/London')); $event->setUrl("http://www.info.com"); $event->setTicketUrl("http://www.tickets.com"); $eventRepository = new EventRepository(); $eventRepository->create($event, $site, $user); $curatedList = new CuratedListModel(); $curatedList->setTitle("test"); $curatedList->setDescription("test this!"); $clRepo = new CuratedListRepository(); $clRepo->create($curatedList, $site, $user); $clRepo->addEditorToCuratedList($userOther, $curatedList, $user); $clRepo->addEventtoCuratedList($event, $curatedList, $user); $clRepo->addGroupToCuratedList($group, $curatedList, $user); ## Test $this->assertNotNull($clRepo->loadBySlug($site, $curatedList->getSlug())); ## Purge! $clRepo->purge($curatedList); ## Test $this->assertNull($clRepo->loadBySlug($site, $curatedList->getSlug())); }
function test1() { $user = new UserAccountModel(); $user->setEmail("*****@*****.**"); $user->setUsername("test"); $user->setPassword("password"); $userStranger = new UserAccountModel(); $userStranger->setEmail("*****@*****.**"); $userStranger->setUsername("test2"); $userStranger->setPassword("password"); $userRepo = new UserAccountRepository(); $userRepo->create($user); $userRepo->create($userStranger); $site = new SiteModel(); $site->setTitle("Test"); $site->setSlug("test"); $siteRepo = new SiteRepository(); $siteRepo->create($site, $user, array(), $this->getSiteQuotaUsedForTesting()); $curatedList = new CuratedListModel(); $curatedList->setTitle("test"); $curatedList->setDescription("test this!"); $clRepo = new CuratedListRepository(); $clRepo->create($curatedList, $site, $user); // check loading works $this->checkCuratedListInTest1($clRepo->loadBySlug($site, 1)); // check user perms work $curatedList = $clRepo->loadBySlug($site, 1); $this->assertFalse($curatedList->canUserEdit(null)); $this->assertTrue($curatedList->canUserEdit($user)); $this->assertFalse($curatedList->canUserEdit($userStranger)); $clb = new CuratedListRepositoryBuilder(); $clb->setUserCanEdit($user); $this->assertEquals(1, count($clb->fetchAll())); $clb = new CuratedListRepositoryBuilder(); $clb->setUserCanEdit($userStranger); $this->assertEquals(0, count($clb->fetchAll())); }
function index($siteid, $slug, Request $request, Application $app) { global $CONFIG; $this->build($siteid, $slug, $request, $app); $form = $app['form.factory']->create(new ActionForm()); if ('POST' == $request->getMethod()) { $form->bind($request); if ($form->isValid()) { $data = $form->getData(); $action = new ActionParser($data['action']); if ($action->getCommand() == 'delete' && !$this->parameters['curatedlist']->getIsDeleted()) { $clr = new CuratedListRepository(); $clr->delete($this->parameters['curatedlist'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/curatedlist/' . $this->parameters['curatedlist']->getSlug()); } else { if ($action->getCommand() == 'undelete' && $this->parameters['curatedlist']->getIsDeleted()) { $clr = new CuratedListRepository(); $clr->undelete($this->parameters['curatedlist'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/curatedlist/' . $this->parameters['curatedlist']->getSlug()); } else { if ($action->getCommand() == 'addeditor') { $userRepo = new UserAccountRepository(); $user = $userRepo->loadByID($action->getParam(0)); if ($user) { $clr = new CuratedListRepository(); $clr->addEditorToCuratedList($user, $this->parameters['curatedlist'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/curatedlist/' . $this->parameters['curatedlist']->getSlug()); } } else { if ($action->getCommand() == 'removeeditor') { $userRepo = new UserAccountRepository(); $user = $userRepo->loadByID($action->getParam(0)); if ($user) { $clr = new CuratedListRepository(); $clr->removeEditorFromCuratedList($user, $this->parameters['curatedlist'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/curatedlist/' . $this->parameters['curatedlist']->getSlug()); } } else { if ($action->getCommand() == 'addevent') { $eventRepository = new EventRepository(); $event = $eventRepository->loadBySlug($this->parameters['site'], $action->getParam(0)); if ($event) { $clr = new CuratedListRepository(); $clr->addEventtoCuratedList($event, $this->parameters['curatedlist'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/event/' . $event->getSlug()); } } else { if ($action->getCommand() == 'removeevent') { $eventRepository = new EventRepository(); $event = $eventRepository->loadBySlug($this->parameters['site'], $action->getParam(0)); if ($event) { $clr = new CuratedListRepository(); $clr->removeEventFromCuratedList($event, $this->parameters['curatedlist'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/event/' . $event->getSlug()); } } else { if ($action->getCommand() == 'purge' && $CONFIG->sysAdminExtraPurgeCuratedListPassword && $CONFIG->sysAdminExtraPurgeCuratedListPassword == $action->getParam(0)) { $clr = new CuratedListRepository(); $clr->purge($this->parameters['curatedlist']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/curatedlist/'); } } } } } } } } } $this->parameters['form'] = $form->createView(); return $app['twig']->render('sysadmin/curatedlist/index.html.twig', $this->parameters); }
function editDetails($slug, Request $request, Application $app) { if (!$this->build($slug, $request, $app)) { $app->abort(404, "curatedlist does not exist."); } if (!$this->parameters['actionCuratedListEditDetails']) { $app->abort(404, "curatedlist does not exist for editing."); } $form = $app['form.factory']->create(new CuratedListEditForm(), $this->parameters['curatedlist']); if ('POST' == $request->getMethod()) { $form->bind($request); if ($form->isValid()) { $clistRepository = new CuratedListRepository(); $clistRepository->edit($this->parameters['curatedlist'], $app['currentUser']); return $app->redirect("/curatedlist/" . $this->parameters['curatedlist']->getSlug()); } } $this->parameters['form'] = $form->createView(); return $app['twig']->render('site/curatedlist/edit.html.twig', $this->parameters); }
function index($siteid, $slug, Request $request, Application $app) { global $CONFIG; $this->build($siteid, $slug, $request, $app); $form = $app['form.factory']->create(new ActionForm()); if ('POST' == $request->getMethod()) { $form->bind($request); if ($form->isValid()) { $data = $form->getData(); $action = new ActionParser($data['action']); if ($action->getCommand() == 'addgroup') { $gr = new GroupRepository(); $group = $gr->loadBySlug($this->parameters['site'], $action->getParam(0)); if ($group) { $gr->addEventToGroup($this->parameters['event'], $group, $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/event/' . $this->parameters['event']->getSlug()); } } else { if ($action->getCommand() == 'removegroup') { $gr = new GroupRepository(); $group = $gr->loadBySlug($this->parameters['site'], $action->getParam(0)); if ($group) { $gr->removeEventFromGroup($this->parameters['event'], $group, $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/event/' . $this->parameters['event']->getSlug()); } } else { if ($action->getCommand() == 'maingroup') { $gr = new GroupRepository(); $group = $gr->loadBySlug($this->parameters['site'], $action->getParam(0)); if ($group) { $gr->setMainGroupForEvent($group, $this->parameters['event'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/event/' . $this->parameters['event']->getSlug()); } } else { if ($action->getCommand() == 'delete' && !$this->parameters['event']->getIsDeleted()) { $er = new EventRepository(); $er->delete($this->parameters['event'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/event/' . $this->parameters['event']->getSlug()); } else { if ($action->getCommand() == 'undelete' && $this->parameters['event']->getIsDeleted()) { $this->parameters['event']->setIsDeleted(false); $er = new EventRepository(); $er->undelete($this->parameters['event'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/event/' . $this->parameters['event']->getSlug()); } else { if ($action->getCommand() == 'cancel' && !$this->parameters['event']->getIsDeleted()) { $er = new EventRepository(); $er->cancel($this->parameters['event'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/event/' . $this->parameters['event']->getSlug()); } else { if ($action->getCommand() == 'uncancel' && $this->parameters['event']->getIsCancelled()) { $er = new EventRepository(); $er->uncancel($this->parameters['event'], $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/event/' . $this->parameters['event']->getSlug()); } else { if ($action->getCommand() == 'addcuratedlist') { $clr = new CuratedListRepository(); $curatedList = $clr->loadBySlug($this->parameters['site'], $action->getParam(0)); if ($curatedList) { $clr->addEventtoCuratedList($this->parameters['event'], $curatedList, $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/curatedlist/' . $curatedList->getSlug()); } } else { if ($action->getCommand() == 'removecuratedlist') { $clr = new CuratedListRepository(); $curatedList = $clr->loadBySlug($this->parameters['site'], $action->getParam(0)); if ($curatedList) { $clr->removeEventFromCuratedList($this->parameters['event'], $curatedList, $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/curatedlist/' . $curatedList->getSlug()); } } else { if ($action->getCommand() == 'isduplicateof') { $er = new EventRepository(); $originalEvent = $er->loadBySlug($this->parameters['site'], $action->getParam(0)); if ($originalEvent && $originalEvent->getId() != $this->parameters['event']->getId()) { $er->markDuplicate($this->parameters['event'], $originalEvent, $app['currentUser']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/event/' . $this->parameters['event']->getSlug()); } } else { if ($action->getCommand() == 'isnotduplicate') { $er = new EventRepository(); $eventEditMetaData = new EventEditMetaDataModel(); $eventEditMetaData->setUserAccount($app['currentUser']); $eventEditMetaData->setFromRequest($request); $er->markNotDuplicateWithMetaData($this->parameters['event'], $eventEditMetaData); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/event/' . $this->parameters['event']->getSlug()); } else { if ($action->getCommand() == 'purge' && $CONFIG->sysAdminExtraPurgeEventPassword && $CONFIG->sysAdminExtraPurgeEventPassword == $action->getParam(0)) { $er = new EventRepository(); $er->purge($this->parameters['event']); return $app->redirect('/sysadmin/site/' . $this->parameters['site']->getId() . '/event/'); } } } } } } } } } } } } } } $groupRB = new GroupRepositoryBuilder(); $groupRB->setEvent($this->parameters['event']); $this->parameters['groups'] = $groupRB->fetchAll(); $this->parameters['form'] = $form->createView(); return $app['twig']->render('sysadmin/event/index.html.twig', $this->parameters); }
function testEventInTwoGroupsAddedDirectlyThenOneGroupAdded() { TimeSource::mock(2014, 5, 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()); $curatedList = new CuratedListModel(); $curatedList->setTitle("test"); $curatedList->setDescription("test this!"); $clRepo = new CuratedListRepository(); $clRepo->create($curatedList, $site, $user); $group1 = new GroupModel(); $group1->setTitle("test"); $group1->setDescription("test test"); $group1->setUrl("http://www.group.com"); $group2 = new GroupModel(); $group2->setTitle("I don't need no stinking tests"); $group2->setDescription("works first time"); $group2->setUrl("http://www.soveryperfect.com"); $groupRepo = new GroupRepository(); $groupRepo->create($group1, $site, $user); $groupRepo->create($group2, $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)); $eventRepository = new EventRepository(); $eventRepository->create($event, $site, $user, $group1, array($group2)); // Test Before $eventRepositoryBuilder = new \repositories\builders\EventRepositoryBuilder(); $eventRepositoryBuilder->setCuratedList($curatedList); $this->assertEquals(0, count($eventRepositoryBuilder->fetchAll())); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setGroupInformation($group1); $curatedListsWithInfo = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(1, count($curatedListsWithInfo)); $curatedListWithInfo = $curatedListsWithInfo[0]; $this->assertEquals(false, $curatedListWithInfo->getIsGroupInlist()); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setEventInformation($event); $curatedListsWithInfo = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(1, count($curatedListsWithInfo)); $curatedListWithInfo = $curatedListsWithInfo[0]; $this->assertEquals(false, $curatedListWithInfo->isEventInListViaGroup()); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setContainsEvent($event); $curatedListsContainsEvent = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(0, count($curatedListsContainsEvent)); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setContainsGroup($group1); $curatedListsContainsGroup = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(0, count($curatedListsContainsGroup)); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setContainsGroup($group2); $curatedListsContainsGroup = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(0, count($curatedListsContainsGroup)); // Add group to list TimeSource::mock(2014, 5, 1, 8, 0, 0); $clRepo->addEventtoCuratedList($event, $curatedList, $user); $clRepo->addGroupToCuratedList($group1, $curatedList, $user); // Test After // .... we don't ask for extra info $eventRepositoryBuilder = new \repositories\builders\EventRepositoryBuilder(); $eventRepositoryBuilder->setCuratedList($curatedList); $events = $eventRepositoryBuilder->fetchAll(); $this->assertEquals(1, count($events)); $eventWithInfo = $events[0]; $this->assertNull($eventWithInfo->getInCuratedListGroupId()); $this->assertNull($eventWithInfo->getInCuratedListGroupSlug()); $this->assertNull($eventWithInfo->getInCuratedListGroupTitle()); $this->assertFalse($eventWithInfo->getIsEventInCuratedList()); // .... we Do ask for extra info $eventRepositoryBuilder = new \repositories\builders\EventRepositoryBuilder(); $eventRepositoryBuilder->setCuratedList($curatedList, true); $events = $eventRepositoryBuilder->fetchAll(); $this->assertEquals(1, count($events)); $eventWithInfo = $events[0]; $this->assertEquals($group1->getId(), $eventWithInfo->getInCuratedListGroupId()); $this->assertEquals($group1->getSlug(), $eventWithInfo->getInCuratedListGroupSlug()); $this->assertEquals($group1->getTitle(), $eventWithInfo->getInCuratedListGroupTitle()); $this->assertTrue($eventWithInfo->getIsEventInCuratedList()); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setGroupInformation($group1); $curatedListsWithInfo = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(1, count($curatedListsWithInfo)); $curatedListWithInfo = $curatedListsWithInfo[0]; $this->assertEquals(true, $curatedListWithInfo->getIsGroupInlist()); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setEventInformation($event); $curatedListsWithInfo = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(1, count($curatedListsWithInfo)); $curatedListWithInfo = $curatedListsWithInfo[0]; $this->assertEquals(true, $curatedListWithInfo->isEventInListViaGroup()); $this->assertEquals($group1->getId(), $curatedListWithInfo->getEventInListViaGroupId()); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setContainsEvent($event); $curatedListsContainsEvent = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(1, count($curatedListsContainsEvent)); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setContainsGroup($group1); $curatedListsContainsGroup = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(1, count($curatedListsContainsGroup)); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setContainsGroup($group2); $curatedListsContainsGroup = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(0, count($curatedListsContainsGroup)); // Remove group from list TimeSource::mock(2014, 5, 1, 9, 0, 0); $clRepo->removeGroupFromCuratedList($group1, $curatedList, $user); $clRepo->removeEventFromCuratedList($event, $curatedList, $user); // Test After $eventRepositoryBuilder = new \repositories\builders\EventRepositoryBuilder(); $eventRepositoryBuilder->setCuratedList($curatedList); $this->assertEquals(0, count($eventRepositoryBuilder->fetchAll())); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setGroupInformation($group1); $curatedListsWithInfo = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(1, count($curatedListsWithInfo)); $curatedListWithInfo = $curatedListsWithInfo[0]; $this->assertEquals(false, $curatedListWithInfo->getIsGroupInlist()); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setEventInformation($event); $curatedListsWithInfo = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(1, count($curatedListsWithInfo)); $curatedListWithInfo = $curatedListsWithInfo[0]; $this->assertEquals(false, $curatedListWithInfo->isEventInListViaGroup()); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setContainsEvent($event); $curatedListsContainsEvent = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(0, count($curatedListsContainsEvent)); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setContainsGroup($group1); $curatedListsContainsGroup = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(0, count($curatedListsContainsGroup)); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setContainsGroup($group2); $curatedListsContainsGroup = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(0, count($curatedListsContainsGroup)); }
public function canUserEdit(UserAccountModel $user = null) { if (!$user) { return false; } $curatedListRepo = new CuratedListRepository(); if ($curatedListRepo->canUserEditCuratedList($user, $this)) { return true; } return false; }
function test1() { TimeSource::mock(2014, 5, 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()); $curatedList = new CuratedListModel(); $curatedList->setTitle("test"); $curatedList->setDescription("test this!"); $clRepo = new CuratedListRepository(); $clRepo->create($curatedList, $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)); $eventRepository = new EventRepository(); $eventRepository->create($event, $site, $user); // Test Before $eventRepositoryBuilder = new \repositories\builders\EventRepositoryBuilder(); $eventRepositoryBuilder->setCuratedList($curatedList); $this->assertEquals(0, count($eventRepositoryBuilder->fetchAll())); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setEventInformation($event); $curatedListsWithInfo = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(1, count($curatedListsWithInfo)); $curatedListWithInfo = $curatedListsWithInfo[0]; $this->assertEquals(false, $curatedListWithInfo->getIsEventInlist()); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setContainsEvent($event); $curatedListsContainsEvent = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(0, count($curatedListsContainsEvent)); // Add event to list TimeSource::mock(2014, 5, 1, 8, 0, 0); $clRepo->addEventtoCuratedList($event, $curatedList, $user); // Test After // ... we don't ask for extra info $eventRepositoryBuilder = new \repositories\builders\EventRepositoryBuilder(); $eventRepositoryBuilder->setCuratedList($curatedList); $events = $eventRepositoryBuilder->fetchAll(); $this->assertEquals(1, count($events)); $eventWithInfo = $events[0]; $this->assertNull($eventWithInfo->getInCuratedListGroupId()); $this->assertNull($eventWithInfo->getInCuratedListGroupSlug()); $this->assertNull($eventWithInfo->getInCuratedListGroupTitle()); $this->assertFalse($eventWithInfo->getIsEventInCuratedList()); // ... we DO ask for extra info $eventRepositoryBuilder = new \repositories\builders\EventRepositoryBuilder(); $eventRepositoryBuilder->setCuratedList($curatedList, true); $events = $eventRepositoryBuilder->fetchAll(); $this->assertEquals(1, count($events)); $eventWithInfo = $events[0]; $this->assertNull($eventWithInfo->getInCuratedListGroupId()); $this->assertNull($eventWithInfo->getInCuratedListGroupSlug()); $this->assertNull($eventWithInfo->getInCuratedListGroupTitle()); $this->assertTrue($eventWithInfo->getIsEventInCuratedList()); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setEventInformation($event); $curatedListsWithInfo = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(1, count($curatedListsWithInfo)); $curatedListWithInfo = $curatedListsWithInfo[0]; $this->assertEquals(true, $curatedListWithInfo->getIsEventInlist()); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setContainsEvent($event); $curatedListsContainsEvent = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(1, count($curatedListsContainsEvent)); // Remove event to list TimeSource::mock(2014, 5, 1, 9, 0, 0); $clRepo->removeEventFromCuratedList($event, $curatedList, $user); // Test After $eventRepositoryBuilder = new \repositories\builders\EventRepositoryBuilder(); $eventRepositoryBuilder->setCuratedList($curatedList); $this->assertEquals(0, count($eventRepositoryBuilder->fetchAll())); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setEventInformation($event); $curatedListsWithInfo = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(1, count($curatedListsWithInfo)); $curatedListWithInfo = $curatedListsWithInfo[0]; $this->assertEquals(false, $curatedListWithInfo->getIsEventInlist()); $curatedListRepoBuilder = new CuratedListRepositoryBuilder(); $curatedListRepoBuilder->setContainsEvent($event); $curatedListsContainsEvent = $curatedListRepoBuilder->fetchAll(); $this->assertEquals(0, count($curatedListsContainsEvent)); }