Coverage for website/partners/api/v2/serializers/vacancy.py: 92.86%
14 statements
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
« prev ^ index » next coverage.py v7.6.7, created at 2025-08-14 10:31 +0000
1from rest_framework import serializers
3from partners.models import Vacancy
4from thaliawebsite.api.v2.serializers.cleaned_model_serializer import (
5 CleanedModelSerializer,
6)
7from thaliawebsite.api.v2.serializers.thumbnail import ThumbnailSerializer
9from .vacancy_category import VacancyCategorySerializer
12class VacancySerializer(CleanedModelSerializer):
13 """Vacancy serializer."""
15 class Meta:
16 """Meta class for vacancy serializer."""
18 model = Vacancy
19 fields = (
20 "pk",
21 "title",
22 "description",
23 "location",
24 "keywords",
25 "link",
26 "partner",
27 "company_name",
28 "company_logo",
29 "categories",
30 )
32 company_name = serializers.CharField(source="get_company_name", read_only=True)
33 company_logo = serializers.SerializerMethodField("_company_logo")
35 def _company_logo(self, instance):
36 return ThumbnailSerializer(
37 size_small="fit_small",
38 size_medium="fit_medium",
39 size_large="fit_large",
40 ).to_representation(instance.get_company_logo())
42 categories = VacancyCategorySerializer(many=True)