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

1from rest_framework import serializers 

2 

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 

8 

9from .vacancy_category import VacancyCategorySerializer 

10 

11 

12class VacancySerializer(CleanedModelSerializer): 

13 """Vacancy serializer.""" 

14 

15 class Meta: 

16 """Meta class for vacancy serializer.""" 

17 

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 ) 

31 

32 company_name = serializers.CharField(source="get_company_name", read_only=True) 

33 company_logo = serializers.SerializerMethodField("_company_logo") 

34 

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()) 

41 

42 categories = VacancyCategorySerializer(many=True)