Пример #1
0
    def test_replace_skill_id_for_all_questions(self):
        question_id_2 = question_services.get_new_question_id()
        self.save_new_question(question_id_2, self.editor_id,
                               self._create_valid_question_data('ABC'),
                               ['skill_1'])

        question_id_3 = question_services.get_new_question_id()
        self.save_new_question(question_id_3, self.editor_id,
                               self._create_valid_question_data('ABC'),
                               ['skill_2'])
        question_services.create_new_question_skill_link(
            self.editor_id, self.question_id, 'skill_1', 0.5)
        question_services.create_new_question_skill_link(
            self.editor_id, question_id_2, 'skill_1', 0.3)
        question_services.create_new_question_skill_link(
            self.editor_id, question_id_3, 'skill_2', 0.9)

        question_skill_links = (
            question_services.get_question_skill_links_of_skill(
                'skill_1', 'Skill Description 1'))

        self.assertEqual(len(question_skill_links), 2)
        question_ids = [
            question_skill.question_id
            for question_skill in question_skill_links
        ]
        self.assertItemsEqual(question_ids, [self.question_id, question_id_2])
        for question_skill in question_skill_links:
            if question_skill.question_id == self.question_id:
                self.assertEqual(question_skill.skill_difficulty, 0.5)

        question_services.replace_skill_id_for_all_questions(
            'skill_1', 'Description 1', 'skill_3')

        question_skill_links = (
            question_services.get_question_skill_links_of_skill(
                'skill_1', 'Description 1'))

        self.assertEqual(len(question_skill_links), 0)
        question_skill_links = (
            question_services.get_question_skill_links_of_skill(
                'skill_3', 'Skill Description 3'))

        question_ids = [
            question_skill.question_id
            for question_skill in question_skill_links
        ]
        self.assertItemsEqual(question_ids, [self.question_id, question_id_2])
        for question_skill in question_skill_links:
            if question_skill.question_id == self.question_id:
                self.assertEqual(question_skill.skill_difficulty, 0.5)

        questions = question_services.get_questions_by_ids(
            [self.question_id, question_id_2, question_id_3])
        for question in questions:
            if question.id in ([self.question_id, question_id_2]):
                self.assertItemsEqual(question.linked_skill_ids, ['skill_3'])
            else:
                self.assertItemsEqual(question.linked_skill_ids, ['skill_2'])
Пример #2
0
 def test_get_questions_by_ids(self):
     question_id_2 = question_services.get_new_question_id()
     self.save_new_question(question_id_2, self.editor_id,
                            self._create_valid_question_data('DEF'))
     questions = question_services.get_questions_by_ids(
         [self.question_id, 'invalid_question_id', question_id_2])
     self.assertEqual(len(questions), 3)
     self.assertEqual(questions[0].id, self.question_id)
     self.assertIsNone(questions[1])
     self.assertEqual(questions[2].id, question_id_2)
Пример #3
0
    def test_get_questions_by_ids(self):
        question = question_domain.Question(
            'dummy', self._create_valid_question_data('ABC'), 1, 'en')

        question1_id = question_services.add_question(self.owner_id, question)
        question = question_domain.Question(
            'dummy2', self._create_valid_question_data('ABC'), 1, 'en')

        question2_id = question_services.add_question(self.owner_id, question)
        questions = question_services.get_questions_by_ids(
            [question1_id, question2_id])
        self.assertEqual(len(questions), 2)
        self.assertEqual(questions[0].question_id, question1_id)
        self.assertEqual(questions[1].question_id, question2_id)
Пример #4
0
    def test_get_questions_by_ids(self):
        question = question_domain.Question(
            'dummy', 'A Question',
            exp_domain.State.create_default_state('ABC').to_dict(), 1, 'en')

        question1_id = question_services.add_question(self.owner_id, question)
        question = question_domain.Question(
            'dummy2', 'A Question2',
            exp_domain.State.create_default_state('ABC').to_dict(), 1, 'en')

        question2_id = question_services.add_question(self.owner_id, question)
        questions = question_services.get_questions_by_ids(
            [question1_id, question2_id])
        self.assertEqual(len(questions), 2)
        self.assertEqual(questions[0].title, 'A Question')
        self.assertEqual(questions[1].title, 'A Question2')