Ejemplo n.º 1
0
    def test_get_multi_rights(self):
        topic_rights = topic_fetchers.get_multi_topic_rights(
            [self.TOPIC_ID, 'invalid_id'])

        self.assertEqual(len(topic_rights), 2)
        self.assertEqual(topic_rights[0].id, self.TOPIC_ID)
        self.assertEqual(topic_rights[0].manager_ids, [self.user_id_a])
        self.assertFalse(topic_rights[0].topic_is_published)
        self.assertIsNone(topic_rights[1])
Ejemplo n.º 2
0
    def test_get_multi_rights(self) -> None:
        topic_rights: List[Optional[topic_domain.TopicRights]] = (
            topic_fetchers.get_multi_topic_rights(
                [self.TOPIC_ID, 'invalid_id']))
        # Ruling out the possibility of None for mypy type checking.
        assert topic_rights[0] is not None

        self.assertEqual(len(topic_rights), 2)
        self.assertEqual(topic_rights[0].id, self.TOPIC_ID)
        self.assertEqual(topic_rights[0].manager_ids, [self.user_id_a])
        self.assertFalse(topic_rights[0].topic_is_published)
        self.assertIsNone(topic_rights[1])
Ejemplo n.º 3
0
    def get(self, classroom_url_fragment):
        """Handles GET requests."""

        classroom = classroom_services.get_classroom_by_url_fragment(
            classroom_url_fragment)

        topic_ids = classroom.topic_ids
        topic_summaries = topic_fetchers.get_multi_topic_summaries(topic_ids)
        topic_rights = topic_fetchers.get_multi_topic_rights(topic_ids)
        topic_summary_dicts = []
        for index, summary in enumerate(topic_summaries):
            if summary is not None:
                topic_summary_dict = summary.to_dict()
                topic_summary_dict['is_published'] = (
                    topic_rights[index].topic_is_published)
                topic_summary_dicts.append(topic_summary_dict)

        self.values.update({
            'topic_summary_dicts': topic_summary_dicts,
            'topic_list_intro': classroom.topic_list_intro,
            'course_details': classroom.course_details,
            'name': classroom.name
        })
        self.render_json(self.values)