Esempio n. 1
0
    def test_quarter(self, mock_api_now, mock_utils_now):
        now_return_value = datetime(2015, 3, 1)
        mock_api_now.return_value = now_return_value
        mock_utils_now.return_value = now_return_value

        # Previous quarter
        start = datetime(2014, 12, 5)
        end = datetime(2014, 12, 6)
        EventFactory.create_batch(2, start=start, end=end)

        # This quarter
        start = datetime(2015, 1, 5)
        end = datetime(2015, 1, 6)
        EventFactory.create(start=start, end=end)

        # Next quarter
        start = datetime(2015, 5, 3)
        end = datetime(2015, 5, 5)
        EventFactory.create(start=start, end=end)

        request = self.factory.get(self.url)
        request.query_params = dict()

        response = EventsKPIView().get(request)
        eq_(response.data['quarter_total'], 1)
        eq_(response.data['quarter_growth_percentage'], -(3 - 2) * 100 / 2.0)
Esempio n. 2
0
    def test_current_week(self, mock_api_now, mock_utils_now):
        now_return_value = datetime(2015, 3, 1)
        mock_api_now.return_value = now_return_value
        mock_utils_now.return_value = now_return_value

        # Current week
        start = datetime(2015, 2, 25)
        end = datetime(2015, 2, 26)
        EventFactory.create(start=start, end=end)

        # Previous week
        start = datetime(2015, 2, 18)
        end = datetime(2015, 2, 19)
        EventFactory.create_batch(2, start=start, end=end)

        # Next week
        start = datetime(2015, 3, 4)
        end = datetime(2015, 3, 5)
        EventFactory.create(start=start, end=end)

        request = self.factory.get(self.url)
        request.query_params = dict()

        response = EventsKPIView().get(request)
        eq_(response.data['week_total'], 1)
        eq_(response.data['week_growth_percentage'], (1 - 2) * 100 / 2.0)
Esempio n. 3
0
    def test_weeks(self, mock_api_now, mock_utils_now):
        now_return_value = datetime(2015, 3, 1)
        mock_api_now.return_value = now_return_value
        mock_utils_now.return_value = now_return_value

        # Current week
        start = datetime(2015, 2, 25)
        end = datetime(2015, 2, 26)
        EventFactory.create_batch(3, start=start, end=end)

        # Week-1
        start = datetime(2015, 2, 18)
        end = datetime(2015, 2, 19)
        EventFactory.create_batch(2, start=start, end=end)

        # Week-2
        start = datetime(2015, 2, 11)
        end = datetime(2015, 2, 12)
        EventFactory.create_batch(4, start=start, end=end)

        # Week-3
        start = datetime(2015, 2, 4)
        end = datetime(2015, 2, 5)
        EventFactory.create(start=start, end=end)

        # Next week
        start = datetime(2015, 3, 4)
        end = datetime(2015, 3, 5)
        EventFactory.create(start=start, end=end)

        request = self.factory.get(self.url)
        request.query_params = {'weeks': 4}

        response = EventsKPIView().get(request)
        eq_(response.data['week_total'], 3)
        eq_(response.data['week_growth_percentage'], (3 - 2) * 100 / 2.0)
        total_per_week = [{
            'week': 1,
            'events': 1
        }, {
            'week': 2,
            'events': 4
        }, {
            'week': 3,
            'events': 2
        }, {
            'week': 4,
            'events': 3
        }]

        for entry in response.data['total_per_week']:
            ok_(entry in total_per_week)

        eq_(len(response.data['total_per_week']), 4)
Esempio n. 4
0
from django.conf.urls import include, patterns, url

from rest_framework import routers
from tastypie.api import Api

from remo.events.api.api_v1 import EventResource
from remo.events.api.views import EventsKPIView, EventsViewSet
from remo.profiles.api.api_v1 import RepResource
from remo.reports.api.views import ActivitiesKPIView, ActivitiesViewSet
from remo.profiles.api.views import PeopleKPIView, UserProfileViewSet

# Legacy non-public API
v1_api = Api(api_name='v1')
v1_api.register(RepResource())
v1_api.register(EventResource())

# ReMo public API
router = routers.DefaultRouter()
router.register(r'users', UserProfileViewSet)
router.register(r'events', EventsViewSet)
router.register(r'activities', ActivitiesViewSet)

urlpatterns = patterns(
    '', url(r'', include(v1_api.urls)),
    url(r'^beta/', include(router.urls), name='v1root'),
    url(r'^kpi/events/', EventsKPIView.as_view(), name='kpi-events'),
    url(r'^kpi/activities/',
        ActivitiesKPIView.as_view(),
        name='kpi-activities'),
    url(r'^kpi/people/', PeopleKPIView.as_view(), name='kpi-people'))
Esempio n. 5
0
File: urls.py Progetto: Azeez09/remo
from rest_framework import routers
from tastypie.api import Api

from remo.events.api.api_v1 import EventResource
from remo.events.api.views import EventsKPIView, EventsViewSet
from remo.profiles.api.api_v1 import RepResource
from remo.reports.api.views import ActivitiesKPIView, ActivitiesViewSet
from remo.profiles.api.views import PeopleKPIView, UserProfileViewSet


# Legacy non-public API
v1_api = Api(api_name='v1')
v1_api.register(RepResource())
v1_api.register(EventResource())

# ReMo public API
router = routers.DefaultRouter()
router.register(r'users', UserProfileViewSet)
router.register(r'events', EventsViewSet)
router.register(r'activities', ActivitiesViewSet)

urlpatterns = patterns(
    '',
    url(r'', include(v1_api.urls)),
    url(r'^beta/', include(router.urls), name='v1root'),
    url(r'^kpi/events/', EventsKPIView.as_view(), name='kpi-events'),
    url(r'^kpi/activities/', ActivitiesKPIView.as_view(),
        name='kpi-activities'),
    url(r'^kpi/people/', PeopleKPIView.as_view(), name='kpi-people')
)
Esempio n. 6
0
 def test_total(self):
     EventFactory.create()
     request = self.factory.get(self.url)
     request.query_params = dict()
     response = EventsKPIView().get(request)
     eq_(response.data['total'], 1)