def test_skillset_skill_get(self): response = self.client.get( '/api/skillsets/{}/skills/'.format(self.skillset.id)) self.assertEqual(response.status_code, 200) skills = Skill.objects.all() expected = SkillSerializer(skills, many=True).data self.assertEqual(response.data, expected)
def test_get_valid_single_skill(self): response = client.get( reverse('skills-detail', kwargs={'pk': self.js.pk})) skill = Skill.objects.get(pk=self.js.pk) serializer = SkillSerializer(skill) self.assertEqual(response.data, serializer.data) self.assertEqual(response.status_code, status.HTTP_200_OK)
def get_attribute(self, obj): """Return serialized value.""" skills = obj.skills.all() if skills: return SkillSerializer(skills, many=True).data else: return None
def test_skill_put(self): data = {'name': 'generators', 'verified': False, 'weight': None} response = self.client.put( '/api/skills/{}/'.format(self.skill_1.id), json.dumps(data), content_type='application/json') self.assertEqual(response.status_code, 200) skill = Skill.objects.get(pk=self.skill_1.id) expected = SkillSerializer(skill).data self.assertEqual(response.data, expected) self.assertEqual(response.data['name'], data['name']) self.assertEqual(response.data['verified'], data['verified']) self.assertEqual(response.data['weight'], data['weight'])
def test_skillset_skills_post(self): data = {'name': 'list comprehensions', 'description': 'efficient ones', 'skillset_id': self.skillset.id} response = self.client.post( '/api/skillsets/{}/skills/'.format(self.skillset.id), json.dumps(data), content_type='application/json') self.assertEqual(response.status_code, 201) skillset = Skill.objects.filter(name='list comprehensions').first() expected = SkillSerializer(skillset).data self.assertEqual(response.data, expected) self.assertEqual(response.data['name'], data['name']) self.assertEqual(response.data['description'], data['description']) self.assertEqual(response.data['skillset_id'], data['skillset_id'])
def test_skill_post(self): data = {'name': 'pep 8', 'description': 'zen of python', 'skillset_id': self.skillset.id} response = self.client.post( '/api/skills/', json.dumps(data), content_type='application/json') self.assertEqual(response.status_code, 201) skillset = Skill.objects.filter(name='pep 8').first() expected = SkillSerializer(skillset).data self.assertEqual(response.data, expected) self.assertEqual(response.data['name'], data['name']) self.assertEqual(response.data['description'], data['description']) self.assertEqual(response.data['skillset_id'], data['skillset_id'])
class MemberSerializer(serializers.ModelSerializer): # read_only = True is set to be able to create models via POST requests # because django doesn't support nested creation skills = SkillSerializer(many=True, read_only=True) project = ProjectSerializer(read_only=True) workhours = WorkHoursSerializer(read_only=True) class Meta: model = Member fields = ( 'id', 'first_name', 'last_name', 'skills', 'project', 'manager_id', 'workhours', 'on_holidays_till', )
class CharacterSerializer(serializers.ModelSerializer): skills = SkillSerializer(many=True, read_only=True) class Meta: model = Character fields = ( 'name', 'role', 'zodiac_sign', 'stars', 'attack', 'defense', 'health', 'speed', 'crit_chance', 'crit_damage', 'effectiveness', 'effect_resistance', 'dual_atk_chance', 'skills', )
def test_get_all_skills(self): response = client.get(reverse('skills-list')) skills = Skill.objects.all() serializer = SkillSerializer(skills, many=True) self.assertEqual(response.data['results'], serializer.data) self.assertEqual(response.status_code, status.HTTP_200_OK)
def get_skills(self, obj): """Return skills list.""" skills = obj.skills.all() return SkillSerializer(skills, many=True, read_only=True).data
def get_skills(self, obj): """Receive the list of the most frequent skills for all resumes.""" skills_list = Resume.objects.values_list('skills', flat=True) skills = Skill.objects.filter(id__in=[item for item in skills_list]) return SkillSerializer(skills, many=True).data