def delete(self, activity_type, topic_id): if activity_type == constants.ACTIVITY_TYPE_LEARN_TOPIC: learner_goals_services.remove_topics_from_learn_goal( self.user_id, [topic_id]) else: raise self.InvalidInputException('Invalid activityType: %s' % (activity_type)) self.render_json(self.values)
def test_remove_topic_from_learner_goals(self): self.assertEqual(self._get_all_topic_ids_to_learn(self.viewer_id), []) # Add topic to learner goals. learner_goals_services.mark_topic_to_learn(self.viewer_id, self.TOPIC_ID_1) learner_goals_services.mark_topic_to_learn(self.viewer_id, self.TOPIC_ID_2) self.assertEqual(self._get_all_topic_ids_to_learn(self.viewer_id), [self.TOPIC_ID_1, self.TOPIC_ID_2]) # Removing a topic. learner_goals_services.remove_topics_from_learn_goal( self.viewer_id, [self.TOPIC_ID_1]) self.assertEqual(self._get_all_topic_ids_to_learn(self.viewer_id), [self.TOPIC_ID_2]) # Removing the same topic raises error. with self.assertRaisesRegexp( Exception, 'The topic id Topic_id_1 is not present in LearnerGoalsModel'): learner_goals_services.remove_topics_from_learn_goal( self.viewer_id, [self.TOPIC_ID_1]) # Removing the second topic. learner_goals_services.remove_topics_from_learn_goal( self.viewer_id, [self.TOPIC_ID_2]) self.assertEqual(self._get_all_topic_ids_to_learn(self.viewer_id), [])