Skip to content

Commit 8f06cb1

Browse files
authored
Merge pull request #188 from PROCOLLAB-github/feature/trajectories
Исправлены поля в SkillDetailsSerializer, StudentSerializer, тесты
2 parents 52666e1 + af2e5ce commit 8f06cb1

File tree

3 files changed

+26
-15
lines changed

3 files changed

+26
-15
lines changed

apps/courses/serializers.py

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -106,29 +106,29 @@ class Meta:
106106

107107

108108
class SkillDetailsSerializer(serializers.ModelSerializer):
109-
skill_name = serializers.CharField(source="name")
110-
file = serializers.SerializerMethodField()
109+
name = serializers.CharField()
110+
file_link = serializers.SerializerMethodField()
111111
skill_preview = serializers.SerializerMethodField()
112112
skill_point_logo = serializers.SerializerMethodField()
113-
level = serializers.SerializerMethodField()
113+
quantity_of_levels = serializers.SerializerMethodField()
114114

115115
class Meta:
116116
model = Skill
117117
fields = (
118-
"skill_name",
119-
"file",
118+
"name",
119+
"file_link",
120120
"skill_preview",
121121
"skill_point_logo",
122122
"description",
123-
"level",
123+
"quantity_of_levels",
124124
"free_access",
125125
)
126126

127-
def get_level(self, obj) -> int:
127+
def get_quantity_of_levels(self, obj) -> int:
128128
# Просьба захардкодить на 1 уровень везде.
129129
return 1
130130

131-
def get_file(self, obj) -> str | None:
131+
def get_file_link(self, obj) -> str | None:
132132
return obj.file.link if obj.file else None
133133

134134
def get_skill_preview(self, obj) -> str | None:

apps/tests/courses_tests/constants.py

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -121,24 +121,24 @@
121121

122122
# Response по /courses/skill-details/1:
123123
SKILL_DETAILS_RESPONSE_NEW_SUB = {
124-
"skill_name": "Навык 1",
125-
"file": "http://some.com/",
124+
"name": "Навык 1",
125+
"file_link": "http://some.com/",
126126
"skill_preview": "http://some.com/",
127127
"skill_point_logo": "http://some.com/",
128128
"description": "Описание",
129129
"free_access": False,
130-
"level": 1
130+
"quantity_of_levels": 1
131131
}
132132

133133
# Response по /courses/skill-details/1:
134134
SKILL_DETAILS_RESPONSE_FREE = {
135-
"skill_name": "Навык 1",
136-
"file": "http://some.com/",
135+
"name": "Навык 1",
136+
"file_link": "http://some.com/",
137137
"skill_preview": "http://some.com/",
138138
"skill_point_logo": "http://some.com/",
139139
"description": "Описание",
140140
"free_access": True,
141-
"level": 1
141+
"quantity_of_levels": 1
142142
}
143143

144144

apps/trajectories/serializers.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -182,10 +182,12 @@ def get_end_date(self, obj):
182182

183183

184184
class StudentSerializer(serializers.Serializer):
185+
id = serializers.IntegerField()
185186
first_name = serializers.CharField(max_length=100)
186187
last_name = serializers.CharField(max_length=100)
187188
age = serializers.SerializerMethodField()
188189
avatar = serializers.SerializerMethodField()
190+
specialization = serializers.CharField()
189191

190192
def get_age(self, obj):
191193
if obj.age:
@@ -206,10 +208,19 @@ class MentorStudentSerializer(serializers.ModelSerializer):
206208
remaining_days = serializers.SerializerMethodField()
207209
trajectory = TrajectoryStudentSerializer()
208210
user_trajectory_id = serializers.IntegerField(source="id")
211+
mentor_id = serializers.IntegerField(source="mentor.id", allow_null=True)
209212

210213
class Meta:
211214
model = UserTrajectory
212-
fields = ["student", "initial_meeting", "final_meeting", "remaining_days", "trajectory", "user_trajectory_id"]
215+
fields = [
216+
"student",
217+
"initial_meeting",
218+
"final_meeting",
219+
"remaining_days",
220+
"trajectory",
221+
"user_trajectory_id",
222+
"mentor_id",
223+
]
213224

214225
def get_initial_meeting(self, obj):
215226
return obj.meetings.filter(initial_meeting=True).exists()

0 commit comments

Comments
 (0)