def get(self, request): supplier = Supplier.objects.all() serializer = serializers.SupplierSerializer(data=supplier, many=True) serializer.is_valid() return Response(serializer.data, status=200)
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
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
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)
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)
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)
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
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 == ''