Exemple #1
0
    def test_get_storefront(self):
        """
        test for model_access.get_storefront()

        TODO: test for correct fields returned, number of entries returned,
            and ordering. Might want to use factories here (instead of the
            sample data generator)

        """
        request = MagicMock()
        request.user = '******'
        request.query_params.get.side_effect = lambda *arg: True

        data, extra_data = model_access.get_storefront(request)

        # test that only APPROVED listings are returned
        for i in data['recommended']:
            self.assertEqual(i.approval_status, models.Listing.APPROVED)

        for i in data['featured']:
            self.assertEqual(i.approval_status, models.Listing.APPROVED)

        for i in data['recent']:
            self.assertEqual(i.approval_status, models.Listing.APPROVED)

        for i in data['most_popular']:
            self.assertEqual(i.approval_status, models.Listing.APPROVED)
    def test_get_storefront(self):
        """
        test for model_access.get_storefront()

        TODO: test for correct fields returned, number of entries returned,
            and ordering. Might want to use factories here (instead of the
            sample data generator)

        """
        request = MagicMock()
        request.user = '******'
        request.query_params.get.side_effect = lambda *arg: True

        data, extra_data = model_access.get_storefront(request)

        # test that only APPROVED listings are returned
        for i in data['recommended']:
            self.assertEqual(i.approval_status, models.Listing.APPROVED)

        for i in data['featured']:
            self.assertEqual(i.approval_status, models.Listing.APPROVED)

        for i in data['recent']:
            self.assertEqual(i.approval_status, models.Listing.APPROVED)

        for i in data['most_popular']:
            self.assertEqual(i.approval_status, models.Listing.APPROVED)
Exemple #3
0
    def retrieve(self, request, pk=None):
        data, extra_data = model_access.get_storefront(request.user, True, pk)
        serializer = serializers.StorefrontSerializer(data,
            context={'request': request})

        serialized_data = serializer.data
        self._add_recommended_scores(serialized_data, extra_data)
        return Response(serialized_data)
Exemple #4
0
def StorefrontView(request):
    """
    Featured, recent, and most popular listings
    ---
    serializer: ozpcenter.api.storefront.serializers.StorefrontSerializer
    """
    data = model_access.get_storefront(request.user)
    serializer = serializers.StorefrontSerializer(data, context={"request": request})
    return Response(serializer.data)
Exemple #5
0
    def retrieve(self, request, pk=None):
        debug_recommendations = str_to_bool(request.query_params.get('debug_recommendations', False))
        ordering = request.query_params.get('ordering', None)

        data, extra_data = model_access.get_storefront(request, True, pk, ordering=ordering)
        serializer = serializers.StorefrontSerializer(data, context={'request': request})

        serialized_data = serializer.data
        self._add_recommended_scores(serialized_data, extra_data, debug_recommendations)
        return Response(serialized_data)
Exemple #6
0
    def list(self, request):
        """
        Recommended, Featured, recent, and most popular listings
        ---
        serializer: ozpcenter.api.storefront.serializers.StorefrontSerializer
        """
        data, extra_data = model_access.get_storefront(request.user, True)
        serializer = serializers.StorefrontSerializer(data,
            context={'request': request})

        serialized_data = serializer.data
        self._add_recommended_scores(serialized_data, extra_data)

        return Response(serialized_data)
Exemple #7
0
    def list(self, request):
        """
        Recommended, Featured, recent, and most popular listings
        ---
        serializer: ozpcenter.api.storefront.serializers.StorefrontSerializer
        """
        debug_recommendations = str_to_bool(request.query_params.get('debug_recommendations', False))
        ordering = request.query_params.get('ordering', None)

        data, extra_data = model_access.get_storefront(request, True, ordering=ordering)
        serializer = serializers.StorefrontSerializer(data, context={'request': request})

        serialized_data = serializer.data
        self._add_recommended_scores(serialized_data, extra_data, debug_recommendations)

        return Response(serialized_data)
Exemple #8
0
def StorefrontView(request):
    """
    Featured, recent, and most popular listings
    ---
    serializer: ozpcenter.api.storefront.serializers.StorefrontSerializer
    """
    data = model_access.get_storefront(request.user)
    serializer = serializers.StorefrontSerializer(data,
                                                  context={'request': request})

    request_username = request.user.username
    cache_key = 'storefront-{0}'.format(request_username)
    cache_data = cache.get(cache_key)
    if not cache_data:
        cache_data = serializer.data
        cache.set(cache_key,
                  cache_data,
                  timeout=settings.GLOBAL_SECONDS_TO_CACHE_DATA)
    return Response(cache_data)
    def test_get_storefront(self):
        """
        test for model_access.get_storefront()

        TODO: test for correct fields returned, number of entries returned,
            and ordering. Might want to use factories here (instead of the
            sample data generator)

        """
        username = '******'
        data = model_access.get_storefront(username)

        # test that only APPROVED listings are returned
        for i in data['featured']:
            self.assertEqual(i.approval_status, models.Listing.APPROVED)

        for i in data['recent']:
            self.assertEqual(i.approval_status, models.Listing.APPROVED)

        for i in data['most_popular']:
            self.assertEqual(i.approval_status, models.Listing.APPROVED)
Exemple #10
0
    def test_get_storefront(self):
        """
        test for model_access.get_storefront()

        TODO: test for correct fields returned, number of entries returned,
            and ordering. Might want to use factories here (instead of the
            sample data generator)

        """
        username = '******'
        data = model_access.get_storefront(username)

        # test that only APPROVED listings are returned
        for i in data['featured']:
            self.assertEqual(i.approval_status, models.Listing.APPROVED)

        for i in data['recent']:
            self.assertEqual(i.approval_status, models.Listing.APPROVED)

        for i in data['most_popular']:
            self.assertEqual(i.approval_status, models.Listing.APPROVED)