def test_get_topics_by_id(self): expected_topic = self.topic.to_dict() topics = topic_services.get_topics_by_ids([self.TOPIC_ID]) self.assertEqual(topics[0].to_dict(), expected_topic) self.assertEqual(len(topics), 1) topics = topic_services.get_topics_by_ids([self.TOPIC_ID, 'topic']) self.assertEqual(topics[0].to_dict(), expected_topic) self.assertIsNone(topics[1]) self.assertEqual(len(topics), 2)
def post(self): description = self.payload.get('description') linked_topic_ids = self.payload.get('linked_topic_ids') new_skill_id = skill_services.get_new_skill_id() if linked_topic_ids is not None: topics = topic_services.get_topics_by_ids(linked_topic_ids) for topic in topics: if topic is None: raise self.InvalidInputException topic_services.add_uncategorized_skill(self.user_id, topic.id, new_skill_id) skill_domain.Skill.require_valid_description(description) skill = skill_domain.Skill.create_default_skill( new_skill_id, description) skill_services.save_new_skill(self.user_id, skill) self.render_json({'skillId': new_skill_id})