only validated companies showing in views
This commit is contained in:
@@ -32,3 +32,32 @@ class CompanyFactory(DjangoModelFactory):
|
|||||||
|
|
||||||
class Meta:
|
class Meta:
|
||||||
model = 'companies.Company'
|
model = 'companies.Company'
|
||||||
|
|
||||||
|
|
||||||
|
class ValidatedCompanyFactory(DjangoModelFactory):
|
||||||
|
|
||||||
|
cif = FuzzyText(prefix='CIF_', length=10)
|
||||||
|
company_name = FuzzyText(prefix='COMPANY_NAME_', length=10)
|
||||||
|
short_name = FuzzyText(prefix='SHORT_NAME_', length=10)
|
||||||
|
web_link = FuzzyText(prefix='http://WEB-LINK-', suffix='.test', length=10)
|
||||||
|
shop = FuzzyChoice(choices=(True, False))
|
||||||
|
shop_link = FuzzyText(prefix='http://SHOP-LINK-', suffix='.test', length=10)
|
||||||
|
platform = FuzzyChoice(choices=[x[1] for x in Company.PLATFORMS])
|
||||||
|
email = FuzzyText(prefix='EMAIL_', suffix='@test.com', length=10)
|
||||||
|
logo = None
|
||||||
|
city = None
|
||||||
|
address = FuzzyText(prefix='ADDRESS_', length=10)
|
||||||
|
geo = None
|
||||||
|
phone = '+34666555444'
|
||||||
|
mobile = '+34666555333'
|
||||||
|
other_phone = '+34666555222'
|
||||||
|
description = FuzzyText(prefix='DESCRIPTION_', length=250)
|
||||||
|
shop_rss_feed = FuzzyText(prefix='http://SHOP-RSS-FEED-', suffix='.test', length=10)
|
||||||
|
sale_terms = FuzzyText(prefix='SALES_TERMS', length=250)
|
||||||
|
shipping_cost = FuzzyDecimal(low=1.00)
|
||||||
|
tags = ['cool', 'hip', 'tech/blockchain']
|
||||||
|
sync = FuzzyChoice(choices=(True, False))
|
||||||
|
is_validated = True
|
||||||
|
|
||||||
|
class Meta:
|
||||||
|
model = 'companies.Company'
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ from django.test import TestCase
|
|||||||
from rest_framework.test import APITestCase
|
from rest_framework.test import APITestCase
|
||||||
from rest_framework import status
|
from rest_framework import status
|
||||||
|
|
||||||
from companies.factories import CompanyFactory
|
from companies.factories import ValidatedCompanyFactory
|
||||||
from companies.models import Company
|
from companies.models import Company
|
||||||
|
|
||||||
from core.factories import CustomUserFactory
|
from core.factories import CustomUserFactory
|
||||||
@@ -23,7 +23,7 @@ class CompanyViewSetTest(APITestCase):
|
|||||||
"""Tests setup
|
"""Tests setup
|
||||||
"""
|
"""
|
||||||
self.endpoint = '/api/v1/companies/'
|
self.endpoint = '/api/v1/companies/'
|
||||||
self.factory = CompanyFactory
|
self.factory = ValidatedCompanyFactory
|
||||||
self.model = Company
|
self.model = Company
|
||||||
# create user
|
# create user
|
||||||
self.password = ''.join(random.choices(string.ascii_uppercase, k = 10))
|
self.password = ''.join(random.choices(string.ascii_uppercase, k = 10))
|
||||||
@@ -302,7 +302,7 @@ class MyCompanyViewTest(APITestCase):
|
|||||||
"""Tests setup
|
"""Tests setup
|
||||||
"""
|
"""
|
||||||
self.endpoint = '/api/v1/my_company/'
|
self.endpoint = '/api/v1/my_company/'
|
||||||
self.factory = CompanyFactory
|
self.factory = ValidatedCompanyFactory
|
||||||
self.model = Company
|
self.model = Company
|
||||||
# create user
|
# create user
|
||||||
self.email = f"user@mail.com"
|
self.email = f"user@mail.com"
|
||||||
@@ -313,10 +313,7 @@ class MyCompanyViewTest(APITestCase):
|
|||||||
|
|
||||||
def test_auth_user_gets_data(self):
|
def test_auth_user_gets_data(self):
|
||||||
# create instance
|
# create instance
|
||||||
user_instances = [
|
user_instances = [self.factory(creator=self.user) for i in range(5)]
|
||||||
self.factory(creator=self.user),
|
|
||||||
self.factory(creator=self.user),
|
|
||||||
]
|
|
||||||
|
|
||||||
# Authenticate
|
# Authenticate
|
||||||
token = get_tokens_for_user(self.user)
|
token = get_tokens_for_user(self.user)
|
||||||
@@ -365,7 +362,7 @@ class RandomCompanySampleTest(APITestCase):
|
|||||||
"""Tests setup
|
"""Tests setup
|
||||||
"""
|
"""
|
||||||
self.endpoint = '/api/v1/companies/sample/'
|
self.endpoint = '/api/v1/companies/sample/'
|
||||||
self.factory = CompanyFactory
|
self.factory = ValidatedCompanyFactory
|
||||||
self.model = Company
|
self.model = Company
|
||||||
# create user
|
# create user
|
||||||
self.email = f"user@mail.com"
|
self.email = f"user@mail.com"
|
||||||
|
|||||||
@@ -24,7 +24,7 @@ from utils import woocommerce
|
|||||||
|
|
||||||
|
|
||||||
class CompanyViewSet(viewsets.ModelViewSet):
|
class CompanyViewSet(viewsets.ModelViewSet):
|
||||||
queryset = Company.objects.all().order_by('-created')
|
queryset = Company.objects.filter(is_validated=True).order_by('-created')
|
||||||
serializer_class = CompanySerializer
|
serializer_class = CompanySerializer
|
||||||
permission_classes = [IsAuthenticatedOrReadOnly, IsCreator]
|
permission_classes = [IsAuthenticatedOrReadOnly, IsCreator]
|
||||||
filterset_class = CompanyTagFilter
|
filterset_class = CompanyTagFilter
|
||||||
@@ -187,6 +187,6 @@ def random_company_sample(request):
|
|||||||
except:
|
except:
|
||||||
return Response({"error": "Wrong value for size, must be a number"}, status=status.HTTP_406_NOT_ACCEPTABLE)
|
return Response({"error": "Wrong value for size, must be a number"}, status=status.HTTP_406_NOT_ACCEPTABLE)
|
||||||
|
|
||||||
queryset = Company.objects.all().order_by('?')[:size]
|
queryset = Company.objects.filter(is_validated=True).order_by('?')[:size]
|
||||||
serializer = CompanySerializer(queryset, many=True)
|
serializer = CompanySerializer(queryset, many=True)
|
||||||
return Response(serializer.data)
|
return Response(serializer.data)
|
||||||
|
|||||||
Reference in New Issue
Block a user