From 2414f6a3e93065f55fa47c8ec71ebc094438c023 Mon Sep 17 00:00:00 2001 From: Sebastian Marcet Date: Wed, 29 Aug 2018 21:18:22 -0300 Subject: [PATCH] Bug on endpoint /api/v1/summits/{id}/events/published/empty-spots there was on start/end condition that was preventing to get the desired subset Change-Id: I6ce1d4ea760d37b115708d36b0c07a786d210871 --- app/Http/Utils/Filters/FilterElement.php | 2 +- app/Services/Model/SummitService.php | 5 +++-- tests/OAuth2SummitEventsApiTest.php | 12 ++++++------ 3 files changed, 10 insertions(+), 9 deletions(-) diff --git a/app/Http/Utils/Filters/FilterElement.php b/app/Http/Utils/Filters/FilterElement.php index 022703d4..bb9a0f8a 100644 --- a/app/Http/Utils/Filters/FilterElement.php +++ b/app/Http/Utils/Filters/FilterElement.php @@ -86,7 +86,7 @@ class FilterElement extends AbstractFilterElement public static function makeLower($field, $value) { - return new self($field, $value, '>'); + return new self($field, $value, '<'); } public static function makeLowerOrEqual($field, $value) diff --git a/app/Services/Model/SummitService.php b/app/Services/Model/SummitService.php index 060ad8e6..97e895ed 100644 --- a/app/Services/Model/SummitService.php +++ b/app/Services/Model/SummitService.php @@ -1353,8 +1353,9 @@ final class SummitService extends AbstractService implements ISummitService $events_filter->addFilterCondition(FilterParser::buildFilter('published', '==', '1')); $events_filter->addFilterCondition(FilterParser::buildFilter('summit_id', '==', $summit->getId())); $events_filter->addFilterCondition(FilterParser::buildFilter('location_id', '==', intval($location_id))); - $events_filter->addFilterCondition(FilterParser::buildFilter('start_date', '>=', $interval[0]->getTimestamp())); - $events_filter->addFilterCondition(FilterParser::buildFilter('end_date', '<=', $interval[1]->getTimestamp())); + + $events_filter->addFilterCondition(FilterParser::buildFilter('start_date', '<', $interval[1]->getTimestamp())); + $events_filter->addFilterCondition(FilterParser::buildFilter('end_date', '>', $interval[0]->getTimestamp())); $paging_response = $this->event_repository->getAllByPage ( diff --git a/tests/OAuth2SummitEventsApiTest.php b/tests/OAuth2SummitEventsApiTest.php index 581c7991..21c040ba 100644 --- a/tests/OAuth2SummitEventsApiTest.php +++ b/tests/OAuth2SummitEventsApiTest.php @@ -806,22 +806,22 @@ final class OAuth2SummitEventsApiTest extends ProtectedApiTest public function testGetScheduleEmptySpotsBySummit() { $summit_repository = EntityManager::getRepository(\models\summit\Summit::class); - $summit = $summit_repository->getById(23); + $summit = $summit_repository->getById(25); $summit_time_zone = $summit->getTimeZone(); - $start_datetime = new DateTime( "2017-11-04 07:00:00", $summit_time_zone); - $end_datetime = new DateTime("2017-11-05 18:00:00", $summit_time_zone); + $start_datetime = new DateTime( "2018-11-10 07:00:00", $summit_time_zone); + $end_datetime = new DateTime("2018-11-10 22:00:00", $summit_time_zone); $start_datetime_unix = $start_datetime->getTimestamp(); $end_datetime_unix = $end_datetime->getTimestamp(); $params = [ - 'id' => 23, + 'id' => 25, 'filter' => [ - 'location_id==318,location_id==320', + 'location_id==391', 'start_date>='.$start_datetime_unix, 'end_date<='.$end_datetime_unix, - 'gap==10', + 'gap>=30', ], ];