示例#1
0
    def get(self, request):

        supplier = Supplier.objects.all()
        serializer = serializers.SupplierSerializer(data=supplier, many=True)
        serializer.is_valid()

        return Response(serializer.data, status=200)
示例#2
0
def test_supplier_retrieve(authed_client, authed_supplier):
    response = authed_client.get(reverse('supplier'))

    expected = serializers.SupplierSerializer(authed_supplier).data

    assert response.status_code == status.HTTP_200_OK
    assert response.json() == expected
示例#3
0
def test_supplier_with_company_serializer_save():
    company = CompanyFactory.create(number='01234567')
    data = VALID_REQUEST_DATA.copy()
    data['company'] = company.pk
    serializer = serializers.SupplierSerializer(data=data)
    serializer.is_valid()

    supplier = serializer.save()
    assert supplier.company == company
示例#4
0
    def get(self, request, pk, format=None):
        supplier = self.get_object(pk)

        data = Supplier.objects.filter(id=supplier.id).values()[0]
        serializer = serializers.SupplierSerializer(data=data)

        if serializer.is_valid(raise_exception=True):
            return Response(serializer.data, status=200)
        return Response(serializer.errors, status=400)
示例#5
0
 def post(self, request):
     supplier = request.data
     # print(product_category)
     serializer = serializers.SupplierSerializer(data=supplier)
     if serializer.is_valid(raise_exception=True):
         # print('aweaee')
         serializer.save()
         return Response(serializer.data, status=201)
     return Response(serializer.errors, status=400)
示例#6
0
    def patch(self, request, *args, **kwargs):
        supplier = self.get_object(pk=kwargs['pk'])

        serializer = serializers.SupplierSerializer(
            supplier, data=request.data,
            partial=True)  # set partial=True to update a data partially
        if serializer.is_valid():
            serializer.save()
            return Response(serializer.data, status=204)
        return Response(data="wrong parameters", code=400)
示例#7
0
def test_supplier_serializer_save():
    serializer = serializers.SupplierSerializer(data=VALID_REQUEST_DATA)
    serializer.is_valid()

    supplier = serializer.save()

    assert supplier.sso_id == VALID_REQUEST_DATA['sso_id']
    assert supplier.company_email == VALID_REQUEST_DATA['company_email']
    assert supplier.date_joined.year == 2017
    assert supplier.date_joined.month == 3
    assert supplier.date_joined.day == 21
示例#8
0
def test_supplier_serializer_defaults_to_empty_string():
    data = {
        "sso_id": '1',
        "company_email": "*****@*****.**",
    }
    serializer = serializers.SupplierSerializer(data=data)
    assert serializer.is_valid()

    supplier = serializer.save()

    # NOTE: This test is just for peace of mind that we handle
    # optional fields in a consistent manner
    assert supplier.name == ''